Python 实例方法如何在不实例化任何对象的情况下被访问?

Python 实例方法如何在不实例化任何对象的情况下被访问?,python,instantiation,Python,Instantiation,我创建了一个类'Employee',包含以下两个方法。我知道,如果没有对象的实例化,类本身无法访问这些实例方法 但是,在没有任何对象实例化的情况下,下面的代码是如何工作的 >>> class Employee: def __init__(self,name): self.name = name def getName(self): return self.name >>> Employee('John Doe'

我创建了一个类'Employee',包含以下两个方法。我知道,如果没有对象的实例化,类本身无法访问这些实例方法

但是,在没有任何对象实例化的情况下,下面的代码是如何工作的

>>> class Employee:
    def __init__(self,name):
        self.name = name
    def getName(self):
        return self.name

>>> Employee('John Doe').getName()       #how this code is working??
'John Doe'

我在上面的代码中没有看到任何对象实例化的迹象。但是,它是如何工作的?

您是否创建了一个实例。调用类就是这样做的,它会创建一个实例:

>>> Employee('John Doe')
<__main__.Employee instance at 0x1042bab48>
>>> employee = Employee('John Doe')
>>> employee
<__main__.Employee instance at 0x1042bac68>
唯一的区别是,现在我将创建实例的结果存储在名为
employee
的变量中。再次使用该名称会导致实例再次被回显


对于Python来说,使用
Employee('John Doe').getName()和
Employee.getName()
没有区别,它们都在实例上查找属性
getName
,然后调用它。

Employee('John Doe')
实例化一个对象。因此,不必指定变量(引用名称)到实例以使用类的属性。“我希望,我明白了。”普拉卡什哈塔雷:事实上,不需要保留这个实例;如果您只想调用一个方法,那就好了。