Skip to main content
 首页 » 编程设计

python之打印类实例名称的方法

2025年05月04日24kevingrace

我刚开始上课,正在编写一个来执行跟踪和计时任务。看过this但仍然无法使某一方面的功能发挥作用。

这是我必须证明问题的部分:

class seperate_trackers(): 
 
    def __init__(self):  
        print ("class initiated") 
 
    def print_instance_name(self): 
        print (self.__class__.__name__) 

创建它的一个实例:

track_task1 = separate_trackers() 
>> class initiated 

运行里面的方法:

track_task1.print_instance_name() 
>> separate_trackers 

这不是我想要的!

如何修复该方法,使其在运行时返回 track_task1?

请您参考如下方法:

这不是一个好主意。如果你想让你的实例有一个名字,那应该是实例本身的一个属性(变量的名字只是一个指针,它不应该代表对象的状态)。

试试这个:

# We don't usually use snake case for class names in python (and its 'separate') 
class SeparateTrackers(): 
 
    def __init__(self, name):  
        self.name = name 
 
 
instance1 = SeparateTrackers("instance_name") 
 
print(instance1.name) # instance_name