魔力Python--if __name__ == '__main__' 的理解

if __name__ == ‘__main__‘ 的理解

  __name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。

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

#practice.py
import cc
print(‘引用cc‘)
cc.cc()
print(‘程序结束!‘)

其中,cc.py为

def cc():
    print(‘调用cc了‘)
print(‘先输出哪个?‘)

此时结果为:

先输出哪个?
引用cc
调用cc了
程序结束!

然而,实际上我们可能不想输出‘先输出哪个?‘这句话的.

或许这时候要尝试直接调用函数?没卵用,只是改名字罢了.

from cc import cc
print(‘引用cc‘)
cc()
print(‘程序结束!‘)

输出的结果也是如此:

结果:
先输出哪个?
引用cc
调用cc了
程序结束!

此时,将cc.py修改即可

def cc():
    print(‘调用cc了‘)
if __name__ == ‘__main__‘:
    print(‘先输出哪个?‘)

此时调用

from cc import cc
print(‘引用cc‘)
cc()
print(‘程序结束!‘)

结果如下:

引用cc
调用cc了
程序结束!

所以明白if __name__ = ‘__main__‘的作用,即在外部调用可不输出子进程的东西,在自身内部调用可正常输出,起一个判断作用.

记住,在Windows里面,把所有子进程的所有操作都扔到

if __name__ = ‘__main__‘这句话下面. Linux和Mac不需要.

PS:关于上面的快捷操作,输入main回车即可快速打出
if __name__ = ‘__main__‘

转自:https://blog.csdn.net/wrh_csdn/article/details/80534654  

  https://blog.csdn.net/qq_27017791/article/details/80212016

魔力Python--if __name__ == '__main__' 的理解

原文地址:https://www.cnblogs.com/smithpath/p/10708856.html

时间: 2024-10-29 16:54:56

魔力Python--if __name__ == '__main__' 的理解的相关文章

python中 __name__ == '__main__'的理解

python中常常会用到: if __name__ == '__main__': 这段代码的意思为: 当我们直接运行该段代码所在的py文件时(python xxx.py),  __name__ == '__main__' 为真,if条件成立,那么就会执行if下面的语句. 当我们在另一个py文件中使用import导入包含该段代码的py文件时,__name__的值是包含该段代码的py文件的名字,而不是__main__. python中 __name__ == '__main__'的理解

Python if __name__ == '__main__': 理解

if __name__ == '__main__':是为了区分.py文件是自己直接被执行还是被其他文件调用. 当.py文件直接被执行时,默认的是 __name__ = '__main__',因此条件成立,将执行if语句中的操作: 当.py文件被其他文件调用时,默认的是 __name__ = 'xxx', (当前文件为xxx.py),因此if语句判断条件不成立,if中的操作不会执行: 但是,这两种情况下,if语句之外的其他语句都将正常按顺序执行,且在if语句执行之前. Python if __na

对于python的__name__="__main__"的含义的理解

学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main__' 的作用? "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 先写一个模块 #module.py def main(): print "we are i

python if __name__ == '__main__'解析

废话不多说,正题: python中所有的模块都有一个内置属性 __name__,一个模块的 __name__ 的值取决于如何应用模块.如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名.但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__". 换句通俗的话讲,当你在当前文件运行一个文件时,__name__==__main__,则其后的代码会正常执行,但是当你在另一个文件i

浅析python 中__name__ = '__main__' 的作用

很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main__' 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. __name__ 是当前模块名,当模块

谈谈python 中__name__ = '__main__' 的作用

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

python 中__name__ = '__main__' 的作用

有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 这句话,可能一开始听的还不是很懂.下面举例说明: 先写一个模块: ? 1 2 3 4 5 #module.py def main():   print "we are in %s"%__name__ if __name__ == '__main__':   ma

python中__name__ = '__main__' 的作用

有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 先写一个模块: #module.py def main(): print "we are in %s"%__name__ if __name__ == '__main__': main() 这个函数定义了一个main函数,我们执行一下该py文件发现结果是打印出&

python中 __name__=='__main__' 的作用

很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main__' 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 这句话,可能一开始听的还不是很懂.下面