一、对象的布尔值
Python一切皆对象,所有对象都有一个布尔值,通过bool()获取。
常见为布尔值False的对象有:False,数值0,空字符串,空列表,空集合,空字典,空元组,None。
任何值都可用作布尔值,因此不需要显式地进行转换(Python会自动转换)。
二、分支结构
Python中使用缩进来标识代码块。
1、单分支结构
if 条件表达式:
执行体
a = 1
if a == 1:
print('success')
输出:
success
2、双分支结构
if 条件表达式:
执行体
else:
执行体
a = 2
if a == 1:
print('success')
else:
print('failed')
输出:
failed
简写方式
b if 条件表达式 else a
条件表达式为True 返回b,否则返回a
c = 'success' if a == 1 else 'failed'
print(c)
输出:
failed
3、多分支结构
if 条件表达式1:
执行体1
elif 条件表达式2:
执行体2
elif 条件表达式N:
执行体N
[else:]
执行体M
a = 2
if a == 1:
print('success')
elif a == 2:
print('other')
else:
print('failed')
输出:
other
4、嵌套分支
if 条件表达式1:
if 条件表达式2:
执行体1
else:
执行体2
else:
执行体3
a = 2
if a > 1:
if a == 2:
print('success')
else:
print('other')
else:
print('failed')
输出:
success
三、循环结构
1、while循环
while 条件表达式
循环的执行体
a = 3
while a > 0:
print('大于0')
a -= 1
输出:
大于0
大于0
大于0
2、for in 循环,从序列中依次取值,及遍历。for in 遍历的对象必须是可迭代对象。如果自定义变量不需要的话,可以用下划线代替。
for 自定义变量 in 可迭代对象:
循环体
for i in range(3):
print(i)
输出:
0
1
2
3、break语句,用于结束循环,通常与if一起使用
for 自定义变量 in 可迭代对象:
循环体
if 条件:
执行内容
break
for i in range(3):
if i > 1:
break
print(i)
输出:
0
1
4、continue语句,用于结束当前循环,进入下一次循环,通常与if一起使用。
for 自定义变量 in 可迭代对象:
循环体
if 条件:
执行内容
continue
for i in range(3):
if i < 1:
continue
print(i)
输出:
1
2
四、else语句
1、if else 的使用,见上面if的使用方式。
2、while else的使用,当while里面没有遇到break的时候执行else,即while正常执行完。
while 条件表达式
循环的执行体
else
print('end')
3、for else的使用,当for 里面没有遇到break的时候执行else,即for 正常执行完。
for 条件表达式
循环的执行体
else
print('end')
for i in range(3):
print(i)
else:
print('else 输出了')
输出:
0
1
2
else 输出了
for i in range(3):
if i > 1:
break
print(i)
else:
print('else 输出了')
输出:
0
1
4、只要能够使用for循环,就不要使用while循环。
五、变量赋值扩展使用
1、序列解包,将序列赋值给多个变量的形式
a,b,c = 1,2,3
print(a,b,c) #1 2 3
还可以交换变量
a,b = 1,2
print(a,b) #1 2
a,b = b,a
print(a,b) #2 1
序列解包对于函数返回元组(或其他序列或可迭代对象)可以赋值到对应的变量
d = {12:'数字键', 'zifu':'字符键', 'tr':'tt的值'}
k,v = d.popitem()
print(k, v) #tr tt的值
可以使用 * 号来获取多余的值,保存在一个列表里面
a,b,*c = [1,2,3,4,5]
print(a,b,c) #1 2 [3, 4, 5]
a,*b,c = [1,2,3,4,5]
print(a,b,c) #1 [2, 3, 4] 5
2、增强赋值,适用于所有的运算符
a= 0
a = a + 1
a += 1 #增强赋值
六、print扩展使用
print可用于打印一个表达式,但实际上,可同时打印多个表达式,条件是用逗号分隔它们,并且还可以自定义分隔符及结束字符串。
print("I", "want", "to", "go", "home", sep="_")
输出:
I_want_to_go_home
print("I", "want", "to", "go", "home")
输出:
I want to go home
print("I", "want", "to", "go", "home",end="...")
输出:
I want to go home...
七、range()函数
用于生成一个序列,有三种创建方式
1、range(stop) #创建一个[0,stop)步长为1的序列
2、range(start,stop) #创建一个[start,stop)步长为1的序列
3、range(start,stop,step) #创建一个[start,stop)步长为step的序列
range不管序列多长,所有range对象占用的内存空间是相同的,只有用到的时候才会去计算序列中相关的元素。可以使用list()查看该对象的内容。
不要将is用于数和字符串等不可变的基本值。鉴于Python在内部处理这些对象的方式, 这样做的结果是不可预测的。
八、pass语句使用
pass语句什么都不做,但适合用作占位符。
if a > 10:
pass
else:
print('小于10')