jon*_*omo 11 python class-method
我有以下代码:
class ObjectOne(object):
@classmethod
def print_class_name(cls):
print cls.__class__.__name__
def print_class_name_again(self):
print self.__class__.__name__
if __name__ == '__main__':
obj_one = ObjectOne()
obj_one.print_class_name()
obj_one.print_class_name_again()
Run Code Online (Sandbox Code Playgroud)
输出是:
type
ObjectOne
Run Code Online (Sandbox Code Playgroud)
我希望输出为:
ObjectOne
ObjectOne
Run Code Online (Sandbox Code Playgroud)
但我想test_cls
通过@classmethod
装饰器保持作为类方法.
我怎么能做到这一点?
我有一个类似的问题,想要获取日志记录的类名和函数/方法名。
__name__ : gives the program name
__class__.__name__ gives the class name
Run Code Online (Sandbox Code Playgroud)
inspect.stack()[0][3] 给出模块名称。(您必须导入检查)。
干杯