if _name_ == ‘_main_’的含义
本文最后更新于230 天前,如有错误请发送邮件到yaoshengliy@gmail.com

引言

时间:3月26日

课后作业题目:if _name_ == ‘_main_’的含义,why?

分析

if _name_ == '_main_'是 Python 中的一种 常见写法,用于判断当前脚本是否是作为 主程序执行

其作用是:

运行一个 Python 脚本时,Python 会自动为这个脚本创建一些内置变量,其中之一就是 __name__

  • 如果这个脚本是 直接运行 的(例如:python myscript.py),那么 __name__ 的值就是 '__main__'
  • 如果这个脚本是 被导入 到其他脚本中作为模块使用(例如:import myscript),那么 __name__ 的值就是 'myscript'(即文件名)。

所以if _name_ == '_main_'的作用是当且仅当当前文件是被直接运行时,下面的代码才会执行

这样做有以下好处:

  1. 防止在被导入时执行不该执行的代码
  2. 模块复用性更强
  3. 便于测试

示例

有一段主程序代码:

# hello.py
def say_hello():
    print("Hello, world!")

if __name__ == '__main__':
    say_hello()

执行python hello.py,输出Hello, world!

此时新建一个文件main.py,在头部使用import hello,表示导入使用上述hello模块,此时执行python main.py,没有任何输出。

因为 hello.py 中的 say_hello() 被包含在 if __name__ == '__main__': 判断里,只有直接运行 hello.py 时才会执行。被导入时不会执行,保证了模块的复用性。

原文作者:© 风影 版权所有


原文链接:https://sily.showbyte.top/main/


本作品采用 CC BY-NC-ND 4.0 许可协议。禁止修改原文内容,引用时务必注明文章标题、原文链接及作者信息


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇