一,可变不可变类型
可变类型:值改变,id不变,改的是原值,原值是可以被改变的(lisr,dict)
不可变类型:值改变,id也改变,产生新的值,原值没改变,不可修改原值(int,float,str,bool)
dict补充:
定义:{}内逗号分隔开的key:value,value可以是任意类型,但key必须是不可变类型
二,条件判断
1,显式布尔值
1.1条件可以是:比较符运算
age=18
print(age>16)----------true#条件判断后得到一个布尔值
1.2条件可以是:true,false
is_beautiful=true
print(is_beautiful)---------true
2,隐式布尔值,所有的值都可以当去条件在用
其中0,None,空(空字符串,空列表,空字典)代表的布尔值为false,其余都为true
三,逻辑运算
3.1not:就是把紧跟其后的那个条件结果取反
age=18
print(age>16)---true
ps:not与紧跟其后的条件不可分割,把not与条件看成一个整体。
print(not age>16)---false
3.2 and:逻辑与,and用来连接左右两个条件,多个条件同时为true,最终结果才为真。
print(true and 10>3 and 1)------true
print(true and 10>3 and 0)------false
3.3 or:逻辑或,or用来连接左右两个条件,只要有一个条件为true,结果就为真。
只有在条件全为false的条件下,最终结果才为false
print(3>2 or 0)------true
print(3 !=2 or 0)-----false
四,逻辑运算的优先级(not>and>or)
如果只是一串and,一串or,按照从左到右的顺序运算
混用考虑优先级
res=(3>4 and (not 4>3) or (1==3 and 'x' == 'x' ) or 3>3-----false or false or false
print(res)-------false
res=(3>4 and ((not 4>3) or 1==3) and 'x' == 'x' ) or 3>3---false and__ __
print(res)------false
五,成员运算与身份运算
5.1成员运算:in, not in
in
print('mary' in "hello mary")----true
print('a' in "hello mary")----true#判断一个字符串是否在大字符串中
print(111 in [111,222,333])------true#判断元素是否在列表中
ps: dict是判断key是否在字典中
print("k1" in {'k1':111,'k2':222,'k3':333})----true
not in
print('mary' not in "hello mary")----false
5.2身份运算
is #判断id是否相等
六,if判断
6.1:语法1
if 条件:
代码1 #前排空四格,代表是同一组代码
代码2 #前排空四格,代表是同一组代码
代码3 #前排空四格,代表是同一组代码
'''
age=18
is_beautiful=true
star='白羊座'
if age>16 and age <20 and is_beautiful and star== '白羊座':
print('我们在一起吧')
print('我们不合适')
'''----------我们在一起吧 我们不合适
6.2:语法2
if 条件:
代码1 #前排空四格,代表是同一组代码
代码2 #前排空四格,代表是同一组代码
代码3 #前排空四格,代表是同一组代码
else条件:(#if条件不成立,则运行else)
代码1 #前排空四格,代表是同一组代码
代码2 #前排空四格,代表是同一组代码
代码3 #前排空四格,代表是同一组代码
'''
age=80
is_beautiful=true
star='白羊座'
if age>16 and age <20 and is_beautiful and star== '白羊座':
print('我们在一起吧')
else:
print('再见了你嘞')
print('我们不合适')
'''----------再见了你嘞 我们不合适
6.3:语法3
if 条件1:
代码1 #前排空四格,代表是同一组代码
代码2 #前排空四格,代表是同一组代码
代码3 #前排空四格,代表是同一组代码
elif条件2:(#if条件不成立,则运行else)
代码1 #前排空四格,代表是同一组代码
代码2 #前排空四格,代表是同一组代码
代码3 #前排空四格,代表是同一组代码
elif条件3:(#if条件不成立,则运行else)
代码1 #前排空四格,代表是同一组代码
代码2 #前排空四格,代表是同一组代码
代码3 #前排空四格,代表是同一组代码
'''
score =input('请输入您的成绩:') #此时的score为字符串
score=int(score)#转为int
if score>=90:
print('优秀')
elif score>=80:
print('良好')
elif score>=70:
print('普通')
'''
6.4完整的语法
if 条件1:
代码1 #前排空四格,代表是同一组代码
代码2 #前排空四格,代表是同一组代码
代码3 #前排空四格,代表是同一组代码
elif条件2:(#if条件不成立,则运行else)
代码1 #前排空四格,代表是同一组代码
代码2 #前排空四格,代表是同一组代码
代码3 #前排空四格,代表是同一组代码
elif条件3:(#if条件不成立,则运行else)
代码1 #前排空四格,代表是同一组代码
代码2 #前排空四格,代表是同一组代码
代码3 #前排空四格,代表是同一组代码
。。。。。。。
else:
代码1 #前排空四格,代表是同一组代码
代码2 #前排空四格,代表是同一组代码
代码3 #前排空四格,代表是同一组代码
'''
score =input('请输入您的成绩:') #此时的score为字符串
score=int(score)#转为int
if score>=90:
print('优秀')
elif score>=80:
print('良好')
elif score>=70:
print('普通')
else:
print('垃圾')
'''
6.5 if的嵌套
'''
age=18
is_beautiful=true
star='白羊座'
if age>16 and age <20 and is_beautiful and star== '白羊座':
print('我们在一起吧')
is_sucessful=true
print('我们结婚吧')
else:
print('再见了你嘞')
print('我们不合适')
'''----------我们在一起吧 我们结婚吧 我们不合适