python中if __name__ == “__main__“看着挺神奇

一开始看着这个东西还挺无厘头的,作为一个IT小白的分享,不喜勿喷,感谢诸位!!

在Python中,if __name__ == "__main__" 是一个常见的条件语句,用于确定当前模块是直接被执行还是被导入到其他模块中使用。

__name__ 是一个内置变量,用于表示当前模块的名称。当直接执行一个Python脚本时,__name__ 的值会被设置为"__main__",表示当前模块是主程序入口。

因此,当使用 if __name__ == "__main__" 条件语句时,其下面的代码块只会在当前模块作为主程序被执行时才会运行。当当前模块被导入到其他模块中时,下面的代码块不会被执行。

这样的设计可以让我们在一个模块中既可以编写可直接执行的代码,又可以作为一个可导入的模块供其他模块使用。下面是示例:

当我们想要编写一个Python模块,既可以作为可执行脚本直接运行,又可以被其他模块导入使用时,可以使用 if __name__ == "__main__" 的条件语句。

以下是一个例子:

# 模块名: example.py

def greet(name):
    print(f"Hello, {name}!")

if __name__ == "__main__":
    # 当模块直接执行时,执行以下代码
    user = input("请输入您的名字:")
    greet(user)

在这个例子中,我们定义了一个 greet 函数来打印问候语。当模块被导入时,我们只定义了函数,而不会执行任何代码。

但是,当我们直接执行这个模块时,会执行 if __name__ == "__main__" 条件语句下的代码块。这里我们通过用户输入获取名字,并调用 greet 函数来打印问候语。

这样,我们可以通过直接执行这个模块,输入名字来测试 greet 函数的功能。同时,其他模块也可以导入 example 模块,并调用其中的函数来使用其功能,而不会执行与用户交互的部分。

另外,如果我们在其他模块中导入 example 模块,可以使用 example.greet() 来调用其中的函数,而不会执行与用户交互的部分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值