5. 运算符
5.1 算数运算符
下面以a=10 ,b=20为例进行计算
- 注意:混合运算时,优先级顺序为: ** 高于 * / % // 高于 + - ,为了避免歧义,建议使用 () 来处理运
- 算符优先级。 并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。
- 如果是两个字符串做加法运算,会直接把这两个字符串拼接成一个字符串。
- 如果是数字和字符串做加法运算,会直接报错。
- 如果是数字和字符串做乘法运算,会将这个字符串重复多次。
5.2 赋值运算符
5.3 复合赋值运算符
5.4 比较运算符
5.5 逻辑运算符
6. 输入输出
6.1 输出
- 普通输出
python中变量的输出
printf('hello world')
- 格式化输出
6.2 输入
在Python中,获取键盘输入的数据的方法是采用 input
函数(至于什么是函数,咱们以后的章节中讲解),那么这个 input 怎么用呢?
看如下示例:
password = input("请输入密码:") print('您刚刚输入的密码是:%s' % password)
注意:
- input()的小括号中放入的是提示信息,用来在获取数据之前给用户的一个简单提示
- input()在从键盘获取了数据以后,会存放到等号右边的变量中
- input()会把用户输入的任何值都作为字符串来对待
7. 流程控制语句
7.1 if判断语句
- if语句是用来进行判断的,其使用格式如下:
if 要判断的条件: 条件成立时,要做的事情
- demo1:
age = 30 if age >= 18: print("我已经成年了")
- 运行结果:
我已经成年了
- demo2:
age = 16 if age >= 18: print("我已经成年了")
小总结:
- 以上 2 个demo仅仅是age变量的值不一样,导致结果却不同;能够看得出if判断语句的作用:就是当满足一定
- 条件时才会执行代码块语句,否则就不执行代码块语句。
- 注意:代码的缩进为一个tab键,或者 4 个空格
7.2 if else
- 想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?
- 答:使用 if-else
- if-else的使用格式
if 条件: 满足条件时的操作 else: 不满足条件时的操作
- demo1
age = 18 if age >= 18: print("我可以去红浪漫了") else: print("未成年,不允许去")
- 结果 1 :大于等于 18 的情况
- 结果 2 :小于 18 的情况
7.3 elif
if 条件: 满足条件时的操作 else: 不满足条件时的操作
- 想一想:
- 如果有这样一种情况:当条件A满足时做事情 1 ;当条件A不满足、条件B满足时做事情 2 ;当条件B不满 足、条件C满足时做事情 3 ,那该怎么实现呢?
- 答: elif
elif的功能
- elif的使用格式如下:
if xxx1: 事情1 elif xxx2: 事情2 elif xxx3: 事情3
说明:
- 当xxx1满足时,执行事情 1 ,然后整个if结束
- 当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情 2 ,然后整个if结束
- 当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情 3 ,然后整个if结束
- demo:
score = 77 if score>=90: print('本次考试,等级为A') elif score>=80: print('本次考试,等级为B') elif score>=70: print('本次考试,等级为C') elif score>=60: print('本次考试,等级为D') elif score<60: print('本次考试,等级为E')
7.4 for
- 在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for循环的格式
for 临时变量 in 列表或者字符串等可迭代对象: 循环满足条件时执行的代码
for循环的使用
- 遍历字符串:
for s in "hello": print(s)
- 输出结果:
h e l l o
- 打印数字
for i in range(5): print(i)
- 输出结果:
- 0
- 1
- 2
- 3
- 4
7.5 range
- range 可以生成数字供 for 循环遍历,它可以传递三个参数,分别表示 起始、结束和步长。
>>> range(2, 10, 3) [2, 5, 8] >>> for x in range(2, 10, 3): ... print(x) ... 2 5 8
8. 数据类型高级
8.1 字符串高级
字符串的常见操作包括:
获取长度:len len函数可以获取字符串的长度。
查找内容:find 查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引值,如果不存在,则返回-1.
判断:startswith,endswith 判断字符串是不是以谁谁谁开头/结尾
计算出现次数:count 返回 str在start和end之间 在 mystr里面出现的次数
替换内容:replace 替换字符串中指定的内容,如果指定次数count,则替换不会超过count次。
切割字符串:split 通过参数的内容切割字符串
修改大小写:upper,lower 将字符串中的大小写互换
空格处理:strip 去空格
字符串拼接:join 字符串拼接
8.2 列表高级
列表的增删改查
- 添加元素添加元素有一下几个方法:
- append 在末尾添加元素
- insert 在指定位置插入元素
- extend 合并两个列表
- append
append会把新元素添加到列表末尾
#定义变量A,默认有3个元素 A = ['xiaoWang','xiaoZhang','xiaoHua'] print("‐‐‐‐‐添加之前,列表A的数据‐‐‐‐‐A=%s" % A) #提示、并添加元素 temp = input('请输入要添加的学生姓名:') A.append(temp) print("‐‐‐‐‐添加之后,列表A的数据‐‐‐‐‐A=%s" % A)
- insert
insert(index, object) 在指定位置index前插入元素object
strs = ['a','b','m','s'] strs.insert(3,'h') print(strs) # ['a', 'b', 'm', 'h', 's']
- extend
通过extend可以将另一个列表中的元素逐一添加到列表中
a = ['a','b','c'] b = ['d','e','f'] a.extend(b) print(a) # ['a', 'b', 'c', 'd', 'e', 'f'] 将 b 添加到 a 里 print(b) # ['d','e','f'] b的内容不变
- 修改元素
我们是通过指定下标来访问列表元素,因此修改元素的时候,为指定的列表下标赋值即可。
定义变量A,默认有3个元素 A = ['xiaoWang','xiaoZhang','xiaoHua'] print("‐‐‐‐‐修改之前,列表A的数据‐‐‐‐‐A=%s" % A) #修改元素 A[1] = 'xiaoLu' print("‐‐‐‐‐修改之后,列表A的数据‐‐‐‐‐A=%s" % A)
- 查找元素
- 所谓的查找,就是看看指定的元素是否存在,主要包含一下几个方法:
- in 和 not in
python中查找的常用方法为:
- in(存在),如果存在那么结果为true,否则为false
- not in(不存在),如果不存在那么结果为true,否则false
#待查找的列表 nameList = ['xiaoWang','xiaoZhang','xiaoHua'] #获取用户要查找的名字 findName = input('请输入要查找的姓名:') #查找是否存在 if findName in nameList: print('在列表中找到了相同的名字') else: print('没有找到')
说明:
- in的方法只要会用了,那么not in也是同样的用法,只不过not in判断的是不存在
- 删除元素
- 类比现实生活中,如果某位同学调班了,那么就应该把这个条走后的学生的姓名删除掉;在开发中经常会用到删除这种功能。
列表元素的常用删除方法有:
- del:根据下标进行删除
- pop:删除最后一个元素
- remove:根据元素的值进行删除
del
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情'] print('‐‐‐‐‐‐删除之前‐‐‐‐‐‐movieName=%s' % movieName) del movieName[2] print('‐‐‐‐‐‐删除之后‐‐‐‐‐‐movieName=%s' % movieName)
- pop
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情'] print('‐‐‐‐‐‐删除之前‐‐‐‐‐‐movieName=%s' % movieName) movieName.pop() print('‐‐‐‐‐‐删除之后‐‐‐‐‐‐movieName=%s' % movieName)
- remove
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情'] print('‐‐‐‐‐‐删除之前‐‐‐‐‐‐movieName=%s' % movieName) movieName.remove('指环王') print('‐‐‐‐‐‐删除之后‐‐‐‐‐‐movieName=%s' % movieName)
8.3 元组高级
- Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
- 访问元组
- 修改元组
- python中不允许修改元组的数据,包括不能删除其中的元素。
- 定义只有一个元素的元组,需要在唯一的元素后写一个逗号
>>> a = (11) >>> a 11 >>> type(a) int >>> a = (11,) # 只有一个元素的元组,必须要在元素后写一个逗号 >>> a (11,) >>> type(a) tuple
8.4 切片
- 切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
- 切片的语法:[起始:结束:步长],也可以简化使用 [起始:结束]
- 注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。
# 索引是通过下标取某一个元素 # 切片是通过下标去某一段元素 s = 'Hello World!' print(s) print(s[4]) # o 字符串里的第4个元素 print(s[3:7]) # lo W 包含下标 3,不含下标 7 print(s[1:]) # ello World! 从下标为1开始,取出 后面所有的元素(没有结束位) print(s[:4]) # Hell 从起始位置开始,取到 下标为4的前一个元素(不包括结束位本身) print(s[1:5:2]) # el 从下标为1开始,取到下标为5的前一个元素,步长为2(不包括结束位本身)
8.5 字典高级
- 查看元素
除了使用key查找数据,还可以使用get来获取数据
info = {'name':'班长','age':18} print(info['age']) # 获取年龄 # print(info['sex']) # 获取不存在的key,会发生异常 print(info.get('sex')) # 获取不存在的key,获取到空的内容,不会出现异常 print(info.get('sex', '男')) # 获取不存在的key, 可以提供一个默认值。
- 修改元素
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
info = {'name':'班长', 'id':100} print('修改之前的字典为 %s:' % info) info['id'] = 200 # 为已存在的键赋值就是修改 print('修改之后的字典为 %s:' % info)
结果:
修改之前的字典为 {'name': '班长', 'id': 100} 修改之后的字典为 {'name': '班长', 'id': 200}
- 添加元素
如果在使用 变量名[‘键’] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素 - demo:添加新的元素
info = {'name':'班长'} print('添加之前的字典为:%s' % info) info['id'] = 100 # 为不存在的键赋值就是添加元素 print('添加之后的字典为:%s' % info)
- 结果:
添加之前的字典为:{‘name’: ‘班长’}
添加之后的字典为:{‘name’: ‘班长’, ‘id’: 100} - 删除元素
对字典进行删除操作,有一下几种: - del
- clear()
demo:del删除指定的元素
info = {'name':'班长', 'id':100} print('删除前,%s' % info) del info['name'] # del 可以通过键删除字典里的指定元素 print('删除后,%s' % info)
- 结果
删除前,{‘name’: ‘班长’, ‘id’: 100}
删除后,{‘id’: 100}
- del删除整个字典
info = {'name':'monitor', 'id':100} print('删除前,%s'%info) del info # del 也可以直接删除变量 print('删除后,%s'%info)
结果
删除前,{‘name’: ‘monitor’, ‘id’: 100}
Traceback (most recent call last):
File “”, line 1, in
NameError: name ‘info’ is not defined
clear清空整个字典
info = {'name':'monitor', 'id':100} print('清空前,%s'%info) info.clear() print('清空后,%s'%info)
- 结果
- 字典的遍历