لماذا تحتاج إلى @staticmethod في بايثون
📁 مزخرف, طريقة, بايثون, ذكاء اصطناعي
هناك كلاس printer. لديه طريقتان تقومان بنفس الشيء. الفرق هو أن إحدى الطريقتين تحتوي على decorator @staticmethod، والأخرى لا. لكن يمكنني استدعاء كلتا الطريقتين دون إنشاء instance من الكلاس.
class printer(): ''' اختبار @staticmethod ''' def not_static_print(self, text = 'Example Text'): print(text) @staticmethod def static_print(text = 'Example Text'): print(text)# لا أقوم بإنشاء أي instancesprinter.not_static_print(None, 'Emm?')printer.static_print('Something like this.')