1
如果你有下面的類:不同類別
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)
您將只能獲得一個check_foo.Foo
模塊。
我知道PEP 343中提到,你可以這樣做:
with Foo("naming it") as naming_it:
print naming_it.name
而且會得到check_foo
正確實例作爲check_foo.naming_it
但我的問題是可以解決這一點,並設置名稱動態。
我玩弄了一個概念證明,並想知道我可以用上面的想法得到多遠。
難道可以使用我傳遞給Foo
的字符串來命名實例嗎?
注:我也知道關於withhacks
。我們不建議我看看那個:)
你是什麼意思的「命名」一個實例?我假設你想創建一個引用實例的變量,但是在哪裏(什麼範圍)? – kindall 2011-02-18 01:59:23