TL Bir fonksiyonun @classmethod
veya aynı etkiye sahip bir şey kullanılarak tanımlanıp tanımlanmadığını nasıl öğrenebilirim?Bir fonksiyonun @classmethod kullanıp kullanmadığını kontrol edin
bir sınıf dekoratör uygulanması için Sorunum
ben buldum
@classmethod
def function(cls, ...):
yoluyla elde gibi bir yöntem örneğin, ilk argüman olarak sınıf alır olmadığını kontrol etmek istiyorum @staticmethod
'u modülü üzerinden kontrol etmek için bir çözüm (False
False
ise, bkz. here), Ancak @classmethod
Bağlamında
için bunun nasıl bir şey bulamadık Ne yapmaya çalışıyorum
def class_decorator(cls):
for member in cls.__dict__:
if (isclassmethod(getattr(cls, member))):
# do something with the method
setattr(cls, member, modified_method)
return cls
ve yapmam çizgisinde bir şeydir Bu örnekte isclassmethod
neyi aradığımı bilmiyorum.
Bu yalnızca Python 3 için geçerli –
Hem Python 2 hem de Python 3 için çalışan herhangi bir şey var mı (kişisel olarak, 2.7 kullanıyorum) – hlt