Python эквивалентно JS `Symbol`? - PullRequest
1 голос
/ 15 марта 2020

Javascript символы предоставляют простые уникальные идентификаторы:

> const foo1 = Symbol('foo');
> foo1
Symbol(foo)
> const foo2 = Symbol('foo');
> foo1 === foo2
false
> let m = new Map();
> m.set(foo1, "bar");
> m.set(foo2, "rosco");
> m.get(foo1)
'bar'
> m.get(foo2)
'rosco'

Это полезно, например, для получения уникальных возвращаемых значений из функций со специальным значением, когда вы не можете использовать Exception s.

Я знаю, что в python вы можете использовать object() или nonce , но ни один из них не будет хорош при печати. ​​

Есть ли что-то подобное javascript Symbol доступно в python?

...