标签:原则 none 大于 转换 空字符串 python入门 自动 逻辑 相等
可变类型:值改变,id不变,原值可以被修改
可变类型包括:list,dict
l = [111,222,333]
print(id(l))
l[0] = 444
print(l)
print(id(l)) # l中的第一个内容被修改,但两个结果id是相同的
dic = {'k1':111,'k2':222}
print(id(dic))
dic['k1'] = 3333333333
print(dic)
print(id(dic)) # dic中的'k1'被修改,但是两个结果的id是相同的
# 补充
# 定义:{}内用逗号分隔开多key:value,
# 其中value可以是任意类型
# 但是key必须是不可变类型
不可变类型:值改变,id也变了,原值不可被修改
int、float、str是不可变类型
x=10
print(id(x))
x=11
print(id(x))
x=3.1
print(id(x))
x=3.2
print(id(x))
x="abc"
print(id(x))
x='gggg'
print(id(x))
# 三个类型的两个结果值改变了并且两个结果的id也不相同
结论:int、float、str都被设计成了不可分割的整体,不能够被改变
not、and、or的基本使用
# not:把紧跟其后的那个条件结果取反
print(not 16 > 13)
print(not True)
print(not False)
print(not 10)
print(not 0)
print(not None)
print(not '')
结果:
False
False
True
False
True
True
True
False
# and:逻辑与,and用来链接左右两个条件,两个条件同时为True,最终结果才为真
print(True and 10 > 3)
print(True and 10 > 3 and 10 and 0)
print( 10 > 3 and 10 and 0 and 1 > 3 and 4 == 4 and 3 != 3)
结果:
True
0
0
# 运算中条件全部为真则为真,一个条件为假则为假
# or:逻辑或,or用来链接左右两个条件,两个条件但凡有一个为True,最终结果就为True,个条件都为False的情况下,最终结果才为False
print(3 > 2 or 0)
print(3 > 4 or False or 3 != 2 or 3 > 2 or True)
结果:
True
True
区分优先级:not > and > or
# 如果单独就只是一串and链接,或者说单独就只是一串or链接,按照从左到右的顺讯依次运算即可(偷懒原则)
# 如果是混用,则需要考虑优先级了
res=3>4 and not 4>3 or 1==3 and 'x' == 'x' or 3 >3
print(res)
res=(3>4 and (not 4>3)) or (1==3 and 'x' == 'x') or 3 >3
print(res)
结果:
False
False
in:某一个对象包含于另一个对象中
print("egon" in "hello egon") # 判断一个字符串是否存在于一个大字符串中
print("e" in "hello egon") # 判断一个字符串是否存在于一个大字符串中
print(11 in [111,222,33]) # 判断元素是否存在于列表
结果:
True
True
False
#判断key是否存在于字典
print(111 in {"k1":111,'k2':222})
print("k1" in {"k1":111,'k2':222})
结果:
False
True
#not in
print("egon" not in "hello egon") # 推荐使用
print(not "egon" in "hello egon") # 逻辑同上,但语义不明确,不推荐
结果:
True
True
is:判断两个值的id是否相等
x = 10
y = 11
l = [x,5]
print(x is y)
print(x is l[0])
结果:
False
True
什么是流程控制
流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构)、分支结构(用到if判断)、循环结构(用到while与for)。
分支结构
1.什么是分支结构:
分支结构就是根据条件判断的真假去执行不同分支对应的子代码
2.为什么用分支结构?
人类某些时候需要根据条件来决定做什么事情,比如:如果今天下雨,就带伞
所以程序中必须有相应的机制来控制计算机具备人的这种判断能力
如何用分支结构
1.使用if语句来实现
if 条件1: # 如果条件1的结果为True,就依次执行:代码1、代码2,......
代码1
代码2
......
elif 条件2: # 如果条件2的结果为True,就依次执行:代码3、代码4,......
代码3
代码4
......
elif 条件3: # 如果条件3的结果为True,就依次执行:代码5、代码6,......
代码5
代码6
......
else: # 其它情况,就依次执行:代码7、代码8,......
代码7
代码8
......
# 注意:
# 1、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自上而下依次运行
# 2、条件可以是任意表达式,但执行结果必须为布尔类型
# 在if判断中所有的数据类型也都会自动转换成布尔类型
# 2.1、None,0,空(空字符串,空列表,空字典等)三种情况下转换成的布尔值为False
# 2.2、其余均为True
2.if应用
# 如果我大于22岁我就可以结婚
age = 25
if age > 22:
print("我可以结婚了")
# 如果:成绩>=90,那么:优秀
# 如果成绩>=80且<90,那么:良好
# 如果成绩>=70且<80,那么:普通
# 其他情况:很差
score=input('>>: ')
score=int(score)
if score >= 90:
print('优秀')
elif score >= 80:
print('良好')
elif score >= 70:
print('普通')
else:
print('很差')
# if嵌套
# 如果我大于22岁我就可以结婚,如果结婚了,那我很幸福,没结婚我就不幸福
age = 25
is_marry = True
if age > 22:
if is_marry:
print("我很幸福")
else:
print("我不幸福")
标签:原则 none 大于 转换 空字符串 python入门 自动 逻辑 相等
原文地址:https://www.cnblogs.com/yding/p/12430119.html