Avatar ·

لماذا تحتاج إلى @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.')