如何在Python 3.11中获取函数所属类的名称
解决方案
方法一:使用实例方法
给方法添加self参数,通过self.__class__.__name__获取类名:
class Test: def test69(self): print(self.__class__.__name__) # 调用示例 obj = Test() obj.test69() # 输出: Test
方法二:使用类方法
用@classmethod装饰器,方法参数改为cls,直接通过cls.__name__获取类名,这种方式无需实例化就能调用:
class Test: @classmethod def test69(cls): print(cls.__name__) # 调用示例 Test.test69() # 输出: Test obj = Test() obj.test69() # 同样输出: Test
原代码的问题
- 方法未定义
self或cls参数,Python会自动把调用时的实例/类作为第一个参数传入,会触发参数不匹配的报错。 - 代码里的
classname是未定义的变量,Python无法识别该名称。
内容的提问来源于stack exchange,提问作者PizzerLover123
相关产品推荐
相关产品推荐

