在Python类中创建实例

0 投票
3 回答
1797 浏览
提问于 2025-04-17 23:41

我正在尝试在Python中创建一个类的新实例。我参考了这里的解决方案:Python中的实例

但是没有成功。我的主要类是

if __name__ == '__main__':
    Tim = Person
    movement = Person.walk()

这里的“Person”是我想要创建实例的类名。这个类里面有我想使用的方法。

不过,我一直收到这个错误:

Undefined Variable:Person

我还尝试在实际的方法中声明类实例,而不是在初始化方法(init)中,但我得到了同样的错误。

欢迎任何建议。谢谢!

3 个回答

0

你需要用括号来调用构造函数。

Tim = Person()

现在你这样写,Tim = Person 被理解为把变量 Tim 赋值为 Person 的值,但 Person 这个变量还没有定义。

2

你只需要加一些括号:

Tim = Person()

这告诉Python去访问构造函数。

不过你提供的代码让我觉得你可能没有定义一个叫做Person的类。你的代码应该有一个class Person的定义。

class Person:
    def walk(self):
        print "I'm walking!"

if __name__ == "__main__":
    Time = Person
    movement = Person.walk()
    print movement

或者你需要调用import来引入class Person

from my_other_python_file import Person

if __name__ == "__main__":
    Time = Person
    movement = Person.walk()
    print movement
2

更正:如果你想创建一个类的实例,并用这个实例来调用类里面的方法,请在类名后面加上括号。

if __name__ == '__main__':
    Tim = Person()
    movement = Tim.walk()

或者这样做,但不太推荐。

if __name__ == '__main__':
    movement = Person().walk()

撰写回答