粘过来的。。。
海象表达式 :=
新的语法 :=
将给变量赋值, 这个变量是更大的表达式的一部分.
str1 = 'sdfghjkl'
if (ln:= len(str1)) > 0:
print(ln)
用在 if 判断中, 避免调用 len() 两次.
discount = 0.0
if (mo := re.search(r'(\d+)% discount', advertisement)):
discount = float(mo.group(1)) / 100.0
正则表达式匹配和获取结果的时候.
# Loop over fixed length blocks
while (block := f.read(256)) != '':
process(block)
用在 while 循环中, 可以同时取值, 并判断是否为空.
[
clean_name.title() for name in names if (clean_name := normalize('NFC', name)) in allowed_names
]