История изменений
Исправление kto_tama, (текущая версия) :
PEP 572, из-за которого так много шума, не вносит каких-то революционных изменений в язык
Эта штука уменьшает количество кода, в частности упрощает проверку наличия обьекта
например сравните старую версию
while True:
line = fp.readline()
if not line:
break
m = define_rx.match(line)
if m:
n, v = m.group(1, 2)
try:
v = int(v)
except ValueError:
pass
vars[n] = v
else:
m = undef_rx.match(line)
if m:
vars[m.group(1)] = 0
и новую, в которой строк почти в два раза меньше
while line := fp.readline():
if m := define_rx.match(line):
n, v = m.group(1, 2)
try:
v = int(v)
except ValueError:
pass
vars[n] = v
elif m := undef_rx.match(line):
vars[m.group(1)] = 0
Исходная версия kto_tama, :
PEP 572, из-за которого так много шума, не вносит каких-то революционных изменений в язык
Эта штука уменьшает количество кода, в частности упрощает проверку наличия обьекта
например сравните старую версию
while True:
line = fp.readline()
if not line:
break
m = define_rx.match(line)
if m:
n, v = m.group(1, 2)
try:
v = int(v)
except ValueError:
pass
vars[n] = v
else:
m = undef_rx.match(line)
if m:
vars[m.group(1)] = 0
и новую, в которой кода почти в два раза меньше
while line := fp.readline():
if m := define_rx.match(line):
n, v = m.group(1, 2)
try:
v = int(v)
except ValueError:
pass
vars[n] = v
elif m := undef_rx.match(line):
vars[m.group(1)] = 0