Python 学习第二章

本章内容

  1. 数据类型
  2. 数据运算
  3. 表达式 if ...else 语句
  4. 表达式 for 循环
  5. 表达式 while 循环

一、数据类型

  在内存中存储的数据可以有多种类型。

  在 Python 有五个标准的数据类型

  1. Numbers (数字)
  2. String (字符串)
  3. List (列表)
  4. Tuple (元组)
  5. Dictionnary (字典)

数字

  Python 支持四种不同的数字类型

  • int (有符号整数)
  • long (长整型)
  • float (浮点型)
  • complex (复数)

字符串

  字符串或串(String)是由数字、字母、下划线组成的一串字符。

print("我爱你,我的国!")

  这里说一下字符串拼接,在第一章的时候最后一张图显示出字符串拼接。这里我们演示一下怎么用,先看个简单的程序如下:

#班里面有10人,来了5人,现在有多少人?
student_number=10
come_number=5
new_number=student_number+come_number
print("班级现有",new_number,"人") # 没用字符串拼接
#班里面有10人,来了5人,现在有多少人?
student_number=10
come_number=5
new_number=student_number+come_number
print("班级现有"+str(new_number)+"人")  #采用字符串拼接

  这里面new_number 数据类型是 int 类型,要通过 str() 转换成字符串(详见第一章介绍)。然后通过 + 号进行拼接

列表

  List(列表) 是 Python 中使用最频繁的数据类型。

  基本操作:

    • 索引
    • 切片
    • 追加
    • 删除
    • 长度
    • 切片
    • 循环
    • 包含
a = ["1","2","3","4"]
b = a[1]
c = a[0]
d = a[1:3]      #提取列表中 a[1]和a[2] 用到切片功能,后面在详细的学
print(b)    #b = 2
print(c)
print(d)      #d = ["2","3"]

元组

  元组是另一个数据类型,类似于List(列表)。

  元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

  创建元组

age=(11,12,13,43,33,23)
print(age)

 字典

  字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

  两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

  字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

person={"name":"xp","age":24}
print(person)

更多内容:猛戳这里

二、数据运算

  根据这几天学的和查阅资料,整理出以下几种数据运算,当然有些我自己还没练习,先整理出来,后面用到再重点介绍。

 算术运算

运算符 描述 实例
+ 加——两个数相加 a=1  b=2    a+b 输出结果为 3    
- 减——两个数相减 a=4  b=2    a-b 输出结果为 2 
* 乘——两个数相乘 a=1  b=2    a*b 输出结果为 2 
/ 除——两个数相除 a=4  b=2    a/b 输出结果为 2
% 取模——返回除法的余数 a=5  b=2    a%b 输出结果为 1
// 整除——返回商的整数部分 a=5  b=2    a//b 输出结果为 2
** 幂——返回x的y次幂 a=5  b=2    a**b 输出结果为 25

比较运算

运算符 描述 实例
== 等于——比较对象是否相等 a=1  b=2  a==b 返回false
!= 不等于——比较两个对象是否不相等 a=1  b=2  a==b 返回True
> 大于——比较两个对象谁大 a=1  b=2  a>b 返回false
< 小于——比较两个对象谁小 a=1  b=2  a<b 返回ture
>= 大于等于——比较两个对象的关系 a=1  b=2  a>=b 返回false
<= 小于等于——比较两个对象的关系 a=1  b=2  a<=b 返回false

逻辑运算符

运算符 描述 实例
and a=false  b=ture   a and b =false
or a=false  b=ture   a or b =ture
not a=false  b=ture   nat(a and b) =ture

赋值运算符

运算符 描述 实例
= 简单的赋值运算符 a=3 b=a   b 的输出结果为 3
+=  加法赋值运算符 a=3  c=1  a+=c   a 的输出结果为 4     等价于a=a+c
-=  减法赋值运算符 a=3  c=1  a-=c   a 的输出结果为 2     等价于a=a-c
*=  乘法赋值运算符 a=3  c=2  a*=c   a 的输出结果为 6     等价于a=a*c
/=  除法赋值运算符 a=4  c=2  a/=c   a 的输出结果为 2     等价于a=a/c
%=  取模赋值运算符 a=9  b=5  a%=b  a 的输出结果为 4    等价于a=a%b
//=  整除赋值运算符 a=49  b=5  a//=b  a 的输出结果为 9    等价于a=a//b
**=  幂赋值运算符 a=2  b=3  a**=b  a 的输出结果为 8    等价于a=a**b

位运算

运算符 描述 实例
& 按位 与 运算符 a=11  b=2   (a&b)=2     二进制:0000 0010
| 按位 或 运算符 a=11  b=2   (a|b)=11    二进制:0000 1011
^ 按位 异或 运算符 a=11  b=2   (a^b)=9     二进制:0000 1001   (取不相同的位)
~ 按位 取反 运算符 a=11   (~a)=-12     二进制:1000 1100
<< 左移动运算符 a=11  (<<a) =22    二进制:0001 0110
>> 右移动运算符 a=11  (<<a) =5     二进制:1000 0101

  注意:按位 午饭运算符,高位为1符号位为1为负数,负数在计算机以反码形式存储,反码 = 二进制取反(符号位不变)+1。所以 a = 11 二进制位:0000 1011

取反后为:1111 0100  ——> 1111 0100-1 = 1111 0011 ——> 取反: 1000 1100 = -12

  问题:a = 11 c=a>>1  那么 a 的最低位移到高位上,后面的一次向右挪一位,那么高位上位1,为什么不是负数呢?结果却是5, 二进制位: 1000 0101

运算符优先级

运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 [email protected] 和 [email protected])
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 ‘AND‘
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符


更多内容:
猛戳这里

三、表达式 if ...else 语句

 缩进:缩进级别必须保持一致

  Tab 键 != 4个空格

  IndentationError: expected an indented block  语法错误

实例一:猜数字

1 ge_of_princal = 56
2 guess_age = int(input(">>:"))
3 if guess_age == age_of_princal:
4     print("yes")
5 elif guess_age > age_of_princal:
6     print("太大了,往小的猜")
7 else:
8     print("太小了,往大的猜")

 实例二:成绩等级划分

 1 score = int(input("score:"))
 2
 3 if score > 90:
 4     print("A")
 5 elif score > 80:
 6     print("B")
 7 elif score > 70:
 8     print("C")
 9 elif score > 50:
10     print("D")
11 else:
12     print("退学吧")

四、表达式 for 循环

  for x in ...:

name=[‘xp‘,‘qa‘,‘ws‘,‘ed‘]
x=0
for x in name:
    print(x)

  执行这段代码,会依次打印 name 的每个元素

xp
qa
ws
ed

  比如我们想计算1-100的整数之和,从1写到100有点困难,利用 Python 提供的 range() 函数,可以生成一个整数序列,再通过 list() 函数转换成 list 。

sum=0
x=1
for x in range(101):    # range() 函数生成(0,100)整数序列
    sum=sum+x          #这里一定要注意缩进
    print(sum)

  range() 函数 可以生成一个整数序列,通过 list() 函数转换成 list (列表)

  比如:生成一个数列 [0,1,2,3,4]

list_number=list(range(5))
print(list_number)

  代码打印结果:

[0,1,2,3,4]

五、表达式 while 循环

  实例:编写一个登陆接口,输入用户名和密码,认证成功后显示欢迎信息;输错三次后程序退出,不能再输入密码。

 1 n = 3
 2 pass_name = "123456"
 3 name = input("请输入用户名:")
 4 while n>0:
 5     password=input("请输入用户名密码:")
 6     if password==pass_name:
 7         print("欢迎进入....")
 8         n=0
 9     else:
10         print("密码输入错误")
11         n=n-1
12         if n==0:
13             print("该用户名被锁定")
14         else:
15             print("密码输入错误,还有",n,"次机会")

  未完待续........

  有什么不对的地方请大家多多指教,相互交流学习。尽量将自己学会的通过博客给大家展示出来,也希望大家不要着急。

大家也可以关注我的博客与我互动学习、交流。

原文地址:https://www.cnblogs.com/xp0919/p/9486613.html

时间: 2024-10-10 13:38:51

Python 学习第二章的相关文章

《HeadFirst Python》第二章学习笔记

现在,请跟着舍得的脚步,打开<HeadFirst Python>第二章. 一章的内容其实没有多少,多练习几次就能掌握一个大概了! <HeadFirst Python>的第二章设计得很有意思.它直接从制作一个模块入手,顺带讲了模块的导入,传统的书可不会这么搞. 不过书中关于编辑器的观点略显陈旧. 最好的编辑器是什么? 别用书中推荐的Python自带IDLE,在现阶段,请使用Jupyter Notebook来进行各项练习. 等学完这本书后,你可以选择PyCharm/Eric6/Wing

python学习第二天

python学习的第二天就是个灾难啊,这天被打击了,自己写的作业被否认了,不说了,写博客还是个好习惯的,要坚持下去,就不知道能坚持到什么时候.呵呵!!! 这天教的知识和第一天的知识相差不大,区别在于比第一天讲的更细了(我们是两个老师教的,风格是不一样的),这次也写那些比较细的知识点. python的简介 (1)你的程序一定要有个主文件. (2)对于python,一切事物都是对象,对象基于类创建.#似懂非懂,不过有那么点似懂. 知识点 #__divmod__ 会把两个数字相除的商和余数以元组的方式

python学习第二天:数字与字符串转换及逻辑值

1.数字与字符串的转化 #1.数字转字符,使用格式化字符串: *1.demo = ‘%d’  %  source *2.%d整型:%f 浮点型 :%e科学计数  *3.int('source') #转化为int型 #2.字符串转化为数字 *1.导入string :import string *2.demo = atoi(source)  #转换为整型’ atof()    #转为浮点型 2.逻辑值: and  #与 or  #或 not #非 python学习第二天:数字与字符串转换及逻辑值

Python学习第二天数组

1:Python定义数组:a=[0,1,2,3,4] ;   打印数组list(a); 这时:a[0]=0, a[1]=1, a[[2]=2...... 1.1:如果想定义一个很长的数组可以用到python函数range a=range(1000)生成1000个元素的一维数组, list(a) 打印数组显示 1.2:给生成的数组赋初始值:a = [0 for x in range(0, 1000)] 0表示初始值  x表示数组中的元素 range(995,1000)表示从995开始生成到1000

python学习第二讲,pythonIDE介绍以及配置使用

目录 python学习第二讲,pythonIDE介绍以及配置使用 一丶集成开发环境IDE简介,以及配置 1.简介 2.PyCharm 介绍 3.pycharm 的安装 二丶IDE 开发Python,以及配置IDE 1.初始化IDE 2.打开python项目. 3.pycharm设置python的默认解释器版本. 4.pycharm设置为所有用户可以使用,以及启动pycharm 5.设置pycharm启动图标(快捷方式) 6.卸载之前的pycharm python学习第二讲,pythonIDE介绍

Python学习-第二天-字符串和常用数据结构

Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的拷贝 print(str1.capitalize()) # Hello, world! # 获得字符串变大写后的拷贝 print(str1.upper()) # HELLO, WORLD! # 从字符串中查找子串所在位置 print(str1.find('o

java学习第二章总结

连续上了一个星期的课,也算慢慢适应了这种紧张的学习节奏.现在来总结下第二章所学的内容: 第二章主要是讲java的基础语法,他主要由这几个方面构成:常量,变量,数据类型,关键字,标识符,运算符,表达式,注释以及语句等构成. 数据类型是java控制内存的关键元素,java通过数据类型声明来对变量或者常量进行内存空间的分配,并将其标注好名称(即标识符).不同的数据类型,所分配的空间大小都不一样:整型中byte,short,int,long所对应的空间大小分别为1,2,4,8个字节:浮点型中float,

oracle学习 第二章 限制性查询和数据的排序 ——03

这里,我们接着上一小节2.6留下的问题:如果要查询的字符串中含有"_"或"%",又该怎样处理呢? 开始今天的学习. 2.7  如何使用转义(escape)操作符 可以是用个转义(escape)关键字来完成此任务.为了进行练习,我们必须先创建一个临时的表,之后再往该表中插入1行记录,其包含通配符.可能您现在还可能十分不理解例2-13和例2-14的SQL语句.没有问题,您只要照着输入就可以了. 例 2-13 SQL> CREATE TABLE dept_temp

Java基础知识二次学习-- 第二章 基础语法与递归补充

第二章 基础语法与递归补充   时间:2017年4月24日10:39:18 章节:02章_01节,02章_02节 视频长度:49:21 + 15:45 内容:标识符,关键字与数据类型 心得:由字母,下划线,$,数字组成,应该由字母,下划线$开头,同时应该避开java保留字符 变量是内存中的一小块区域,使用变量名来访问这块区域 执行过程中的内存管理(疑问:这里的内存和Jvm的一样吗?) code segment 存放代码 data segment 静态变量 字符串常量 stack 栈 局部变量 h