0
這是我正在研究的一個python類的片段。 (對不起,我不能去太多的細節。我的組織變得有點坐立不安這樣的事情。爲什麼我的班級方法沒有約束?
class my_class:
@classmethod
def make_time_string(cls, **kwargs):
# does some stuff
@classmethod
def make_title(cls, **kwargs):
# does some other stuff
@classmethod
def give_local_time(cls, **kwargs):
# yet more stuff
@classmethod
def data_count(cls, **kwargs):
# you guessed it
到目前爲止,一切都很好,我應該想到,但我使用這個類有麻煩。而且它原來,原因是後兩種方式都綁定:
>>> my_class.make_time_string
<bound method classobj.make_time_string of <class __main__.my_class at 0x1cb5d738>>
>>> my_class.make_title
<bound method classobj.make_title of <class __main__.my_class at 0x1cb5d738>>
>>> my_class.give_local_time
<unbound method my_class.give_local_time>
>>> my_class.data_count
<unbound method my_class.data_count>
對不起,再一次,我不能更多關於即將出臺的內容,但任何人都可以,爲什麼這些最後兩種方法想出一個理由。應該在前兩個綁定(正確)時解除綁定?
後可重複的最小例子。我猜你是在某些情況下從其他類型的實例中查詢類型。 –
這裏工作也很好。 'dir(my_class)'說什麼? – flup
好吧,我是新來的python類,所以請原諒這個錯誤。在我的方法沒有綁定的地方,我有* instance *方法同名。我認爲python能夠分辨my_class.method()和my_instance.method()之間的區別。猜猜我錯了。我沒有真正看到這個寫在任何地方。有人能指點我嗎?謝謝。 –