Rubyシンボルに相当するPythonはありますか?
もしそうなら、それは何ですか?
そうでない場合、辞書のみで文字列をキーとして使用することに固執していますか?
Rubyシンボルに相当するPythonはありますか?
もしそうなら、それは何ですか?
そうでない場合、辞書のみで文字列をキーとして使用することに固執していますか?
いいえ、python にはシンボル型がありません。
ただし、文字列リテラルはデフォルトでインターンされ、intern
関数を使用して他の文字列をインターンすることができます。したがって、辞書で文字列リテラルをキーとして使用することは、ルビでシンボルを使用するよりもパフォーマンスが劣ることはありません。
他の人が言ったように、Python にはシンボルはありませんが、文字列はうまく機能します。
文字列をキーとして引用しないようにするには、dict() コンストラクター構文を使用します。
d = dict(
a = 1,
b = 2,
c = "Hello there",
)
ファーストクラスの型ではありませんが、https://pypi.python.org/pypi/SymbolTypeが存在します。