Python之运算符和流程控制
Python之运算符和流程控制
运算符
算术运算符
+ - * / % // ** # 返回一个数值
比较运算符
> >= < <= == != # 返回一个布尔值
3.赋值运算符
+= -+ *= /=
逻辑运算符
and/or/not
身份运算符
is和==的区别:is用于判断两个变量引用对象是否为同一个(是否在同一块内存空间中), ==用于判断引用变量的值是否相等。
x = 257
y = x
z = 257
print(f'x is y:{x is y}') # x is y:True
print(f'x == y:{x == y}') # x == y:True
print(f'x is z:{x is z}') # x is z:False
print(f'x == z:{x == z}') # x == z:True
位运算符
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
成员运算符
in/not in
Python运算符优先级
python运算符的优先级相当于数学中的先算乘除再算加减,其实有点蠢,优先级高的括号括起来就行了...
流程控制之if 判断
if:如果 --》 现实世界中的判断
单分支结构
dog_name = 'dachangtui' # 一个=是赋值
if dog_name == 'dachangtui': # 两个=是两端比较是否相等
print('干它')
if dog_name == 'fenggou':
print('干掉它')
# if判断的语法
# 自上而下运行if 条件: (:表示你接下来的代码需要缩进) # 条件为True运行缩进内代码;不成立不运行缩进内代码
print('条件成立干嘛干嘛') # 条件成立才会执行该段代码,不成立不执行该段代码
code1
code2
code3
代码块
....
print(1)
双分支结构
'''
if 条件:
print('条件成立干嘛干嘛') # 条件成立才会执行该段代码,不成立不执行该段代码
else:
print('条件不成立干嘛干嘛)# 条件不成立才会执行该段代码,成立不执行该段代码'''
dog_name = ''
if dog_name =='fenggou':
print('干掉它')
else:#
print('干它')
多分支结构
# 沿伸多个分支总结
if 条件:
print('条件成立干嘛干嘛') # 条件成立才会执行该段代码,不成立不执行该段代码
elif 条件:
print('if条件不成立走这条')
elif 条件:
...
#elif可以有无限个...
else:
print('条件不成立干嘛干嘛)# 条件不成立才会执行该段代码,成立不执行该段代码
流程控制之while循环
流程控制:控制变量往一个方向变化
循环:重复(按照某种规律)干一件事
while 当
while 语法
'''
while 条件: # 条件成立运行代码,不成立结束while循环
代码 # 代码执行结束后会进入下一次循环(再一次判断条件)
'''
while 条件(限制的范围)
code 1
code 2
code 3
...
while True:
print('*1'*100)
print('*2'*100)
while + break
break的意思是终止掉当前层的循环,执行其他代码。
while + break
count = 0
while 1:
if count == 100:
break # break终止循环
count += 1
print(count)
print('bzr')
while + continue
continue的意思是终止本次循环,直接进入下一次循环
count = 0
while 1:
if count == 100:
break # break终止循环
count += 1
if count == 50:# 不打印50
continue # continue跳出本次循环,不执行下面的代码
print(count)
print('bzr')
continue不能加在循环体的最后一步执行的代码,因为代码加上去毫无意义,如下所示的continue所在的位置就是毫无意义的。
ps:注意是最后一步执行的代码,而不是最后一行。
while + else(仅作了解)
while+else:else会在while没有被break时才会执行else中的代码。
# while+else 仅作了解(非用不可可以使用,不要和if。。else混了)
count = 0
while count < 100:
count += 1
print(count)
else:
print('没有被break干掉我就能出来')
count = 0
while count < 50:
if count == 100:
break
count += 1
print(count)
else: # 没有被break干掉就执行,被break终止了就不执行
print('没有被break干掉我就能出来') # 可以判断while是否被break终止
控制流程之for循环
循环:重复做一件事情
# while循环:可以循环一切事物 (不好控制)
lt = [1, 2, 3, 4]
ind = 0
while True:
print(lt[ind])
ind += 1
# for循环:提供了一种手段,不依赖索引取值(好控制)
lt = [1, 2, 3, 4]
for i in lt:
print(i)
# for 变量名(会拿到容器类元素的每一个值,没有了就结束循环) in 容器类元素:
# print(变量名)
dic = {'a': 1, 'b': 2, 'c': 3}
count = 0
for i in dic: # 对于字典,for循环只能拿到key
print(i, dic[i])
count += 1
# range方法
print(list(range(10))) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 默认从0开始,10结束,默认步长为1,顾头不顾尾
print(list(range(1,10))) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 1表示开始,10表示结束,默认步长为1,顾头不顾尾
print(list(range(1,10,2))) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 1表示开始,10表示结束,2表示步长,顾头不顾尾
for + break
# for + break
for i in range(50,101,3): # 顾头不顾尾,2表示步长
if i == 53:
break # 中断循环
print(i)
for + continue
# for + continue
for i in range(50,101,3): # 顾头不顾尾,2表示步长
if i == 53:
continue # 跳出本次循环,不执行下面的代码
print(i)
for + else(仅作了解)
# for + else(仅作了解):for循环不被break终止就执行else下的代码,否则不执行
for i in range(50,101,3):
if i == 1000:
break
print(i)
else:u
print('如果没有被break终止我就打印')