You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中创建并调用Person对象实例出错,求原因及解决方法

问题分析与修正

你的代码存在几个关键错误,导致无法正常初始化实例并设置name属性:

  • 错误1:__init__被错误嵌套
    在Python类中,__init__是类的构造方法,必须直接定义在类的顶层作用域内,不能嵌套在其他方法(比如你定义的Person方法)内部。嵌套在方法里的__init__只是一个普通内部函数,Python解释器不会将其当作类的构造方法执行,实例化时自然不会触发它给self.name赋值。

  • 错误2:实例创建方式错误
    Python创建类实例的正确方式是类名(参数),比如Person('James'),而非Person.Person('James')——后者是试图调用类的方法,但你定义的Person方法需要self参数,调用时未传递会直接报错,且这本身就不是实例化的正确逻辑。

  • 错误3:多余的同名方法
    你在类里定义的def Person(self, name)完全多余,Python的构造方法固定为__init__,和类同名的方法不会被当作构造方法使用。


修正后的代码

class Person:
    def __init__(self, name):
        self.name = name

m = Person('James')
print(m.name)  # 输出:James

内容的提问来源于stack exchange,提问作者Mr Agent Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 10:30:57