if语句
每条if语句的核心都是一个值为Ture或False的表达式,这种表达式被称为为条件测试。if语句检查程序当前状态,并据此采取相应的措施。如果条件测试的值为Ture,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。
最简单的if语句只有一个测试和一个操作:
if conditional_test: do something
if else语句,在条件通过时执行一个操作,未通过时执行另一个操作。这个语法适用于两种操作取其中一个的情形。
a=10 if a != 10: print("a not 10") else: print("right")
检查超过两个的情形可以使用if-elif-else结构。python依次检查每个条件直到通过条件测试为止,并跳过余下测试。elif可使用多个,并且可以省去else如果你的条件特别精确的话。
a=10 if a < 2: print("so small") elif a < 10: print("try again") else: print("so high")
if语句在列表中的应用
a=[1,2,3,4] b=[1,2,3,5,6,7] c=[] for i in a: if i in b: c.append(i) print(c) 运行结果 [1, 2, 3]
for循环
for循环可以用来遍历整个列表,每次循环for后面缩进执行的操作都会执行一次,在python中缩进是一个非常重要的部分,python根据缩进来判断代码行与前面一个代码行的关系。
a=[] for i in range(1,3): a.append(i) print(i) print(a) 输出结果 1 2 [1, 2]
a=[] for i in range(1,3): a.append(i) print(i) print(a) 输出结果 1 [1] 2 [1, 2]
列表解析将for循环和创建新元素的代码合并成一行:
a=[i*2 for i in range(10)] print(a) 运行结果 [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
while循环
for循环用于针对集合中每个元素的代码块,while用于让循环不断运行直到条件不满足为止。
i = 0 while i < 3: print(i) i+=1 输出结果 0 1 2
除了while条件不满足以外还可以通过break退出循环。
while True: name =input('what is your name: '.expandtabs(2)) if name =='quit': break 运行结果 what is your name: jack what is your name: jeff what is your name: quit Process finished with exit code 0
while循环还可以使用continue退出本次循环。
i=1 while i < 10: i+=1 if i % 2 == 1: continue print(i) 运行结果 2 4 6 8 10
还有一种用标志位的方式进行退出循环:
flag =True while flag: name=input("what is your name: ") if name == 'quit': flag = False else: print(name) 运行结果 what is your name: jeff jeff what is your name: quit Process finished with exit code 0
我们还常用while循环处理列表和字典,与for循环不同的是,for循环遍历列表时不应该修改列表,这使得python中修改后难以跟踪其中的元素,所以遍历时修改列表需要使用while循环。
names=['jeff','xixi','frank'] names2=[] while names: name=names.pop() names2.append(name) print(names) print(names2) 运行结果 [] ['frank', 'xixi', 'jeff']
删除列表中的某个值:
names=['jeff','jeff','JEFF','tom'] while 'jeff' in names: names.remove('jeff') print(names) 运行结果 ['JEFF', 'tom']
使用用户填充字典:
names_hobby={} while True: name = input("what is your name: ") if name == 'quit': break hobby = input("what your hobby: ") names_hobby[name] = hobby print(names_hobby) 运行结果 what is your name: jeff what your hobby: play what is your name: mike what your hobby: jeff what is your name: quit {'mike': 'jeff', 'jeff': 'play'}
break和continue
break:跳出当前的循环体,不在继续后面的循环,可用在while循环和for循环中;
continue:跳出当前的循环,继续下一次循环,可用在while循环和for循环中。
数据运算
算术运算;
比较运算:
赋值运算:
逻辑运算:
成员运算:
身份运算:
位运算:
运算符优先级:
附加:三元运算
result = 值1 if 条件 else 值2
如果条件为真:result = 值1
如果条件为假:result = 值2
#三元运算,就是if条件判断,前后各有一个值,指向一个变量 #条件成立,就将第一个值赋给变量,条件不成立就将第二个值赋给变量 #就是一个条件判断,和两个不同的值组合成的判断运算,就是三元运算 a = 11 b = "小孩" c = "青年" #判断如果a变量小于或者等于10就将b变量赋值给nian变量,否则就将c变量赋值给nian变量 nian = b if a <= 10 else c print(nian)