if __name__ == '__main__' :详解

本文主要介绍Python中__name__和__main__的相关知识。__name__是模块的名字,其值由Python自动赋予。__main__是当前直接执行模块的名字。if __name__ == '__main__'是一个判断,用于让代码在模块直接执行时运行,并给出了示例。
1、__name__是什么

__name__是模块的名字

2.__name__的值

首先,一个变量一次只有一个值。

其次,__name__的值python自动给。

比如,你的文件叫 hello.py,它在引入之后,__name__就是hello.

3.__main__是啥

是当前直接执行的模块的名字。python给的。

也就是说,当你的模块正在执行时,它的名字(__name_)就是 __main_

那上面那个执行时还叫不叫hello呢,答案是不叫。他自己执行时叫自己 __main__,别人才叫他hello。

4.if _name_ == ‘__main__’ 是啥

很明显,是一个判断。

5.有什么用

这个下面的代码是模块直接执行时才去运行。

有一些代码必须在模块直接执行时运行。可能你现在还没遇到。

你现在运行的代码,执行可能是单模块,所以对于你来说,判断和不判断都可以执行。

6.看例子

我有一个hello.py文件,内容如下:

# coding: utf-8
# 当前模块是 hello.py
# 首先,你要有一个模块叫world.py,随便写啥都行

# 导入模块
import world

# 打印导入的模块的名字(__name__)
print(world.__name__)

# 在当前文件打印__name__,这是当前模块的属性
print(__name__)

# 看看当前模块的名字是不是__main__
if __name__ == '__main__':
    print("It's main")

# 看看当前模块的名字是不是hello
if __name__ == 'hello':
    print("It's hello")

现在,为了便于理解,在world.py写了以下代码:

# coding: utf-8

if __name__ == '__main__':
    print("It's main")

if __name__ == 'world':
    print("It's world")

我们执行hello.py,输出如下

It’s world
    world
    _main_
    It’s main

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值