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终止我就打印')

posted @ 2020-03-29 00:49  jzm1201  阅读(134)  评论(0编辑  收藏  举报