次のクラスがある場合:
class Foo(object):
def __init__(name):
self.name = name
そして、check_foo.pyというファイルでこのように使用します
with Foo("naming it"):
print Foo.name
with Foo("naming another"):
print Foo.name
インポートcheck_foo
して実行すると、モジュールdir(check_foo)
は1つだけになります。check_foo.Foo
PEP 343には、次のようなことができると記載されていることを知っています。
with Foo("naming it") as naming_it:
print naming_it.name
そして、それはで適切にインスタンス化されますcheck_foo
がcheck_foo.naming_it
、私の質問は、これを回避して名前を動的に設定することが可能であるということです。
私は概念実証で遊んでいて、上記のアイデアでどこまで到達できるか知りたいです。
渡した文字列を使用してインスタンスに名前を付けることは可能Foo
でしょうか?
注:私も知っていwithhacks
ます。私がそれを見てみることを提案しないでください:)