Python入门——流程控制
流程控制
一、可变不可变类型
-
可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的
-
不可变类型:值改变,id也改变,证明是产生了新的值,并没有改变原值,证明原值是不可以被修改的
-
验证
# int是不可变类型 x=10 print(id(x)) # 140736198662080 x=11 print(id(x)) # 140736198662112 # float是不可变类型 x=2.1 print(id(x)) # 2106767272624 x=3.2 print(id(x)) # 2106767272336 # str是不可变类型 x='abc' print(id(x)) # 1644325942576 x='qqq' print(id(x)) # 1644326369200 # bool不可变 # 小结:int、float、str都被设计成了不可分割的整体,不能够被改变 # list是可变类型 l=[11, 22, 33] print(id(l)) # 3199870035008 l[0]='AAA' print(id(l)) # 3199870035008 # 字典是可变类型 x={'k1':111, 'k2':222} print(id(x)) # 3199870035008 x['k1']=333 print(id(x)) # 3199870035008 ''' 关于字典补充: 定义:{}内用逗号分隔多key:value, 其中value可以是任意类型 但是key必须是不可变类型 '''
二、条件
什么是条件
- 条件就是为了达成某种状况而所要具备的机制
为什么要用条件
- 为了能够让计算机具备人的这种判断事物是否能够成立的机制
条件有那些
-
显示布尔值:
-
可以是比较运算符
age = 18 print(age > 16) # 条件判断之后会得到一个布尔值
-
可以是True、False
tag = True print(tag)
-
-
隐式布尔值:所有的值都可以当成条件去用
-
其中0、None、空(空字符串、空列表、空字典等)代表的布尔值为False,其余的均为True
print(bool(0)) # False print(bool(None)) # False print(bool('')) # False print(bool([])) # False print(bool({})) # False
-
三、分支结构
什么是分支结构
- 分支结构就是根据条件判断的真假去执行不同分支对应的子代码
为什么要用分支结构
- 人类某些时候需要根据条件来决定做什么事情,程序中也必须有相应的机制来控制计算机具备这种判断能力
如何使用分支结构
-
if语法
if 条件1: 代码块1 elif 条件2: 代码块2 ... else: 代码块3
注意:
- (1)、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自上而下依次运行
- (2)、条件可以是任意表达式,但执行结果必须为布尔类型
- (3)、None、0、空三种情况下转换成的布尔值为
False
,其余的均为True
-
if应用案例
-
案例1:
# 如果:女人的年龄>30岁,那么:叫阿姨 age = 60 if age > 30: print('阿姨')
-
案例2:
# 如果:女人的年龄>30岁,那么:叫阿姨,否则:叫小姐 age = 60 if age > 30: print('阿姨') else: print('小姐姐')
-
案例3:
# 如果:女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨 age = 18 height = 163 weight = 85 beautiful = True if age >= 18 and age < 22 and height > 170 and weight < 100 and beautiful: print('表白') else: print('阿姨')
-
案例4:
''' 如果:成绩>=90,那么:优秀 如果成绩>=80且<90,那么:良好 如果成绩>=70且<80,那么:普通 其他情况:很差 ''' score = 100 if score >= 90: print('优秀') elif score >= 80: print('良好') elif score >= 70: print('普通') else: print('不及格')
-
案例5:
# if嵌套 #在表白的基础上继续: #如果表白成功,那么:在一起 #否则:打印。。。 age = 18 height = 163 weight = 85 beautiful = True if age >= 18 and age < 22 and height > 170 and weight < 100 and beautiful: print('表白') respon = True if respon: print('在一起') else: print('打印') else: print('阿姨')
-