Size: a a a

2020 March 03

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
let a = 1;
println!("{}", a);
let a = "Hello";
println!("{}", a);
но тут я мутирую переменную же
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
с чего бы это?

a = 1
if 1 == 1:
 a = "Hello"
print (a)
Ну и что?
источник

EG

Emmanuel Goldstein in rust_offtopic
Alex Zhukovsky
с чего бы это?

a = 1
if 1 == 1:
 a = "Hello"
print (a)
Убедил.
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
но тут я мутирую переменную же
Нет, ты создаешь новую
источник

EG

Emmanuel Goldstein in rust_offtopic
Теперь a имеет тип Union[int, str].
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
Нет, ты создаешь новую
как мне мутировать старую?
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
как мне мутировать старую?
Никак
источник

EG

Emmanuel Goldstein in rust_offtopic
Который рантайм питона не проверяет никак, так что на этом всё ломается.
источник

p

polunin.ai in rust_offtopic
a = 1
a = 2
Это две разные переменные
источник

AZ

Alex Zhukovsky in rust_offtopic
ну ок, допустим
источник

EG

Emmanuel Goldstein in rust_offtopic
Используйте mypy.
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
a = 1
a = 2
Это две разные переменные
а в чем это проявляется?
источник

AZ

Alex Zhukovsky in rust_offtopic
как мне отличить, что это разные переменные или одна переменная которая мутирует?
источник

EG

Emmanuel Goldstein in rust_offtopic
Alex Zhukovsky
как мне отличить, что это разные переменные или одна переменная которая мутирует?
По id()
источник

EG

Emmanuel Goldstein in rust_offtopic
Или через is.
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
как мне отличить, что это разные переменные или одна переменная которая мутирует?
В питоне если ты пишешь foo = bar ты создаешь новую переменную
источник

AZ

Alex Zhukovsky in rust_offtopic
ок ладно
источник

EG

Emmanuel Goldstein in rust_offtopic
Правда, тогда ВНЕЗАПНО появляются одинаковые переменные с разными именами.
источник

AZ

Alex Zhukovsky in rust_offtopic
литералы в питоне имеют тип
источник

EG

Emmanuel Goldstein in rust_offtopic
Alex Zhukovsky
литералы в питоне имеют тип
Не всегда именованный.
(i for i in [1]) имеет анонимный тип.
источник