`
sqj47sqj
  • 浏览: 30735 次
社区版块
存档分类
最新评论

python中if __name__ == '__main__': 的解析

 
阅读更多

当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用.

        模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__"。

///////////////////////////////////////////////////////////////////////////////////////////////////

在cmd 中直接运行.py文件,则__name__的值是'__main__';

而在import 一个.py文件后,__name__的值就不是'__main__'了;

从而用if __name__ == '__main__'来判断是否是在直接运行该.py文件

如:

#Test.py

class Test:

    def __init(self):pass

    def f(self):print 'Hello, World!'

if __name__ == '__main__':

    Test().f()

#End

 

你在cmd中输入:

C:>python Test.py

Hello, World!

说明:"__name__ == '__main__'"是成立的

 

你再在cmd中输入:

C:>python

>>>import Test

>>>Test.__name__                #Test模块的__name__

'Test'

>>>__name__                       #当前程序的__name__

'__main__'

无论怎样,Test.py中的"__name__ == '__main__'"都不会成立的!

所以,下一行代码永远不会运行到!

//////////////////////////////////////////////////////////////////////////////////

分享到:
评论

相关推荐

    Python中if __name__ == '__main__'作用解析

    主要介绍了Python中if __name__ == '__main__'作用解析,这断代码在Python中非常常见,它有作用?本文就解析了它的作用,需要的朋友可以参考下

    Python中if __name__ == ‘__main__’作用解析

    当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == ‘__main__’:,现在就来介 绍一下它的作用.  模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用...

    python 魔法函数实例及解析

    python的几个魔法函数 __repr__ Python中这个__repr__函数,对应...if __name__ == '__main__': a=A() print(a) 输出结果 <__main__.A object at 0x0000018DF8E7EAC8> 不是很友好,返回了一个对象的内存地址

    python解析ofd增值税发票

    if __name__ == '__main__': ofd_file = '22.OFD' # 文件路径 print('ofd文件:', ofd_file) ofd = Cp_ofd_invoice(ofd_file) # 实例化对象 print('-' * 60) print('属性内容:', ofd.get_property) # 发票属性 ...

    Python语言基础:进程同步.pptx

    进程和线程一样,也存在着不同进程争抢共享内存的问题。 具体实现: import multiprocessing as mp import time def job(num1, num2): ...if __name__ == '__main__': init() 解析: 定义公共变量“num”

    python 命令行传入参数实现解析

    if __name__=='__main__': print Program name, sys.argv[0] for i in range(1, len(sys.argv)): print arg%d%i,sys.argv[i] 测试: python test.py 1 2 3 4 5 输出如下: 您可能感兴趣的文章:Python命令行...

    Python语言基础:线程同步.pptx

    if __name__ == '__main__': lock = threading.Lock() #定义Lock( )对象 A = 0 t1= threading.Thread(target=job1) t2= threading.Thread(target=job2) t1.start() t2.start() t1.join() t2.join() 线程同步 结果...

    Python语言基础:进程存储.pptx

    if __name__=='__main__': p1 = mp.Process(target=job) p1.start() p1.join() 解析: 可以发现创建进程和创建线程的方式基本一致,导入“multiprocessing ”模块,调用“Process()"方法创建进程对象,自定义进程...

    Python解析网页源代码中的115网盘链接实例

    本文实例讲述了python解析网页源代码中的115网盘链接的方法。分享给大家供大家参考。具体方法分析如下: 其中的1.txt,是网页http://bbs.pediy.com/showthread.php?t=144788另存为1.txt 具体代码如下: import re ...

    Python爬虫示例模板

    最后,使用 if __name__ == '__main__': 来判断该文件是否作为独立脚本运行,以启动爬虫。 请注意,爬取网页数据时需要遵守网站的相关规定和法律法规,尊重网站的爬取政策,并确保你的爬虫行为合法、合规、可持续和...

    Python根据字符串调用函数过程解析

    1.使用 getattr(object, name, default=None) ...if __name__ == '__main__': test = Test() name = getattr(test, 'name') # 获取属性 print(name) age = getattr(test, 'age') # 获取属性 print(age) none = ge

    python 基础学习第二弹 类属性和实例属性

    /usr/bin/env python class Foo(object): x=1 if __name__==’__main__’: foo = Foo() print ‘foo.x=’,foo.x print ‘Foo.x=’,Foo.x foo.x = 2 print ‘foo.x=’,foo.x print ‘Foo.x=’,Foo.x 您可能感兴趣的...

    Python程序运行原理图文解析

    本文研究的主要是Python程序运行原理,具体介绍如下。 编译型语言(C语言为例) 动态型语言 一个程序是如何运行起来的?比如下面的代码 #othermodule.py ...if __name__ == '__main__': func() res = othe

    python 进程 进程池 进程间通信实现解析

    1.python 中创建进程的两种方式: from multiprocessing import Process import time def test_(): print '-----test-----' if __name__ == '__main__': p = Process(target=test_) p.start() while True: ...

    Python bytes string相互转换过程解析

    一.bytes和string区别 1.python bytes 也称字节序列,并非字符。取值范围 0 <= bytes <= 255,输出的时候最前面会有字符b修饰;...if __name__ == __main__: # 字节对象b b = bshuopython.com

    python使用json序列化datetime类型实例解析

    if __name__=='__main__': now = datetime.now() json.dumps({'now':now}) 运行会出现下面的错误信息: Traceback (most recent call last): File "C:\Users\xx\Desktop\t.py", line 8, in json.dumps

    clii:Python 3.7+函数注释-> CLI

    从Python 3函数注释中以最少的样板生成参数解析器。 #!/usr/bin/env python3.8 from clii import App , Arg from pathlib import Path from subprocess import run cli = App () @ cli . cmd def add ( a : int , b...

    基于Python Flask框架的又拍云管理工具+源代码+文档说明

    if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, debug=True) ``` 2、 正式环境 以下用uwsgi为例,启动脚本start.sh,内容如下: ```bash #!/bin/bash basedir=$(cd $(dirname $0); pwd) uwsgi --...

    Python 切分数组实例解析

    这篇文章主要介绍了Python 切分数组实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的...if '__main__' == __name__: list1 = ['s1', 's2', 's3', 's4', 's5', 's6', 's7'] list2 = list_s

Global site tag (gtag.js) - Google Analytics