ในแอพ Python ของฉันฉันต้องการสร้างเมธอดที่เป็นทั้ง a staticmethod
และabc.abstractmethod
. ฉันต้องทำอย่างไร
ฉันลองใช้มัณฑนากรทั้งสอง แต่ไม่ได้ผล ถ้าฉันทำสิ่งนี้:
import abc
class C(object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
@staticmethod
def my_function(): pass
ฉันได้รับข้อยกเว้น * และถ้าฉันทำสิ่งนี้:
class C(object):
__metaclass__ = abc.ABCMeta
@staticmethod
@abc.abstractmethod
def my_function(): pass
ไม่มีการบังคับใช้วิธีนามธรรม
ฉันจะสร้างวิธีการคงที่แบบนามธรรมได้อย่างไร
* ข้อยกเว้น:
File "c:\Python26\Lib\abc.py", line 29, in abstractmethod
funcobj.__isabstractmethod__ = True
AttributeError: 'staticmethod' object has no attribute '__isabstractmethod__'