name = '__main__' 的作用
有句话经典的概括了这段代码的意义:
“Make a script both importable and executable”
意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行。
def foo():
print('in foo')
print(__name__)
foo()
if __name__=='__main__':
foo()
返回结果
main 意思是__name__=__main,所以if语句判断True。
ob05.py
def func():
print("func() in ob05.py")
print("top-level in ob05.py")
if name == "__main__":
print("ob05.py is being run directly")
else:
print("ob05.py is being imported into another module")
结果:
top-level in ob05.py
ob05.py is being run directly
ob06.py
import ob05
print("top-level in ob06.py")
ob05.func()
if name == "__main__":
print("ob06.py is being run directly")
else:
print("ob06.py is being imported into another module")
结果:
top-level in ob05.py
ob05.py is being imported into another module
top-level in ob06.py
func() in ob05.py
ob06.py is being run directly
Thus, when module one gets loaded, its name equals "one" instead of __main__.
意思是ob05模块被导入的话,ob05模块中的__name__=__main__
解释错或不对不完善 麻烦完善下
那import是干嘛用呢,就引入了一个func()?name == "__main__" 是什么意思 起什么作用
Pour faire simple, vous pouvez écrire un paragraphe dans chaque fichier de code Python
Le dosomething ici ne sera appelé que lorsque vous exécuterez ce fichier directement dans le terminal, et ne sera pas appelé lorsque vous l'importerez en tant que package dans d'autres fichiers et exécuterez ce fichier.
Voici comment comprendre si name == 'main' en python :
https://github.com/pythonpeix...
__name__ : Indique le nom du module, de la classe, etc. ;
__main__ : représente le module, le fichier xxx.py lui-même.
Lorsque
est exécuté directement, le nom du module correspondant est __main__ Vous pouvez ajouter le code souhaité dans
if __name__ == “__main__”:
pour tester les modules, démontrer l'utilisation du module, etc.En tant que module, lorsqu'il est importé ailleurs, le nom du module est son propre nom de fichier xxx.
La fonction a deux fonctions principales : 1. Réutilisation du code. 2. Processus de décomposition. Cela signifie que lorsque vous écrivez d'autres programmes, vous pouvez appeler la fonction que vous écrivez actuellement. Après avoir écrit une fonction, nous devons la tester ou travailler avec elle, puis nous écrivons ce que nous voulons faire dans if __name__=='__main__':. Lorsque vous écrivez un autre programme pour appeler ce module le lendemain, il exécutera la fonction devant if __name__=='__main__':, mais pas le code à l'intérieur de if __name__=='__main__':.