Python中的类方法差异:绑定,未绑定和静态 在Python中如何在文本文件中搜索字符串? Python中二分查找 Python中的类方法差异:绑定,未绑定和静态 在Python中,绑定和未绑定方法之间存在区别。 基本上,调用成员函数(如method_one),绑定函数 a_test.method_one() 被翻译成 Test.method_one(a_test) 即对未绑定方法的调用。因此,对您的版本的调用method_two将失败TypeError >>> a_test = Test() >>> a_test.method_two() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: method_two() takes no arguments (1 given) 您可以使用装饰器更改方法的行为 class Test(object): def method_one(self): print "Called method_one" @staticmethod def method_two(): print "Called method two" 装饰器告诉内置的默认元类type(类的类,参见这个问题)不要为其创建绑定方法method_two。 现在,您可以直接在实例或类上调用静态方法: >>> a_test = Test() >>> a_test.method_one() Called method_one >>> a_test.method_two() Called method_two >>> Test.method_two() Called method_two 在Python中如何在文本文件中搜索字符串? Python中二分查找