python基础(27)一些特殊的技巧
- not or 和 and
>>> 0 or 1
1
>>> 0 and 1
0
>>> 0 and 2
0
>>> 0 and 2 or 3
3
>>> not 0 or 1
True
>>> not 0 and 1
1
>>> not 1 and 3 or 5 and "" or False
False
>>> not 1 and 3 or 5 and "" or 0
0
not > and > or
>>> data = ">>>:"
>>> input(data)
>>>:
>>> name = None
>>> data = name or "未登录"
>>> input(f"{data}>>>")
未登录>>>
>>> name = "xxxx"
>>> data = name or "未登录"
>>> input(f"{data}>>>")
xxxx>>>
- **for else **
else 里面的语句不一定执行,取决于 for 循环能否正常执行完毕,如果 for 循环中有 break 字段等导致 for 循环没有正常执行完毕,那么 else 中的内容也不会执行。
>>> for i in data:
print(i)
if i == 33:
break
else:
print(666)
11
22
33
>>> for i in data:
print(i)
else:
print(666)
11
22
33
44
55
66
666
- nolocal指向上一级作用域
name = "root"
def outer():
name = "alex"
def inner():
nonlcoal name
name = 123
inner()
print(name)
outer()
print(name)
- global,指向全局作用域
name = "root"
def outer():
name = "alex"
def inner():
global name
name = 123
inner()
print(name)
outer()
print(name)
浙公网安备 33010602011771号