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

Python 2.7执行hello.py遇NameError:name 'hello'未定义求助

解决Python脚本执行的NameError问题

嘿,我来帮你搞定这个问题!先看你遇到的NameError: name 'hello' is not defined,大概率是执行命令的时候敲错了——比如你可能输入了python hello而不是python hello.py,系统找不到叫hello的命令/模块,就会报这个错。不过先把你的代码问题也一起修正,这样脚本才能正常运行。

你的代码里存在几个关键问题,我一步步给你说明:

代码里的问题点

  • 你把main方法定义在了Greeting类里,但没有遵循Python类方法的定义规则(类方法默认需要self参数,或者用静态方法装饰器标记),也没写正确的调用逻辑
  • if __name__ == "__main__"后面的代码不完整,没有触发执行逻辑
  • 导入了sys但没用到argv,属于冗余代码(可以删掉,或者后续需要时再用)

修正后的代码方案

方案1:把main作为普通函数(更适合初学者的简单写法)

def main():
    print("Good day")

if __name__ == "__main__":
    main()

方案2:保留Greeting类,用静态方法实现

如果你想保留类的结构,可以给main方法加上@staticmethod装饰器,然后在主入口调用:

class Greeting:
    @staticmethod
    def main():
        print("Good day")

if __name__ == "__main__":
    Greeting.main()

执行注意事项

确保你在脚本所在的目录下,执行正确的命令:

python hello.py

(如果是Python3环境,可能需要用python3 hello.py)

这样修改后,脚本就能正常输出Good day,也不会再出现NameError啦!

内容的提问来源于stack exchange,提问作者Ityav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:54:00