Python 中的 if __name__ == '__main__'

本文介绍了Python中如何使用if __name__ == '__main__':来控制模块的执行逻辑。当模块被直接运行时,该条件成立并执行特定代码;而当模块被导入时,这部分代码不会被执行,有效避免了不必要的函数调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。

先来个小栗子:

先创建一个f1的py文件

li ='我想和你好好的'
def func1(): print('li',li) func1()
执行结果:li
我想和你好好的

再创建一个s1的py文件

from f1 import li
def func2(name):

    return str(li) + name

def func3():
    print('只要这个',func2('  最后的好梦渐渐消失')) 
func3()
执行结果
li 我想和你好好的
我只要这个 我想和你好好的  最后的好梦渐渐消失

可以看到,f1中的func1函数也被执行了,那如何不让执行呢?

这时,if __name__ == '__main__' 就派上了用场

将f1代码修改一下

li ='我想和你好好的'
def func1(): 
  print('li',li)

if __name__ == '__main__':
  func1()

再重新执行s1文件

我只要这个 我想和你好好的  最后的好梦渐渐消失

所以,if __name__ == '__main__' 我们简单的理解就是: 如果模块是被直接运行的,则代码块被运行,如果模块是被导入的,则代码块不被运行

转载于:https://www.cnblogs.com/jassin-du/p/9104225.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值