我需要命名類某些事情,例如:你可以使用Python中的類的字符串格式嗎?
for a in range(10):
class Class#"%s"(object): % (num)
'''Class Content'''
num += 1
我的問題,這是可能的,如果不是,有什麼替代方案。
我需要命名類某些事情,例如:你可以使用Python中的類的字符串格式嗎?
for a in range(10):
class Class#"%s"(object): % (num)
'''Class Content'''
num += 1
我的問題,這是可能的,如果不是,有什麼替代方案。
你可以使用元類(用於創建類的東西)。例如:
>>> type('ClassName',(), {})
<class '__main__.ClassName'>
第二個參數是基類的元組,第三個參數是含有attribute name
詞典 - >attribute value
對:
>>> cls = type('ClassName', (object,), {'varname': 'var'})
>>> cls.varname
'var'
從documentation on type
function:
有三個參數,返回一個新的類型對象。這實質上是類聲明的一種動態形式。名稱字符串是類名稱,併成爲__name__
屬性;基元組逐項列出基類併成爲__bases__
屬性;而字典字典是包含類體的定義的命名空間,併成爲 __dict__
屬性。
另外閱讀this awesome answer瞭解更多詳情。
事實上,你發現自己需要這樣做,這表明你的方法可以改進。什麼是更大的圖片;你爲什麼要這樣做,你想達到什麼目的? – jonrsharpe
嗨,歡迎來到堆棧溢出 - 沒有必要添加解決你的問題。通過點擊您已經向更廣泛的社區表明您已獲得所需答案的複選標記。謝謝! – Ben
@Ben,對不起,我只是習慣於使用Ubuntu論壇,我的不好。 :) – FrigidDev