Python中__name__的使用实例

yipeiwu_com6年前Python基础

1. 如果模块是被导入,__name__的值为模块名字
2. 如果模块是被直接执行,__name__的值为'__main__'

Py1.py

复制代码 代码如下:

#!/usr/bin/env python
def test():
 print '__name__ = ',__name__
if __name__ == '__main__':
 test()

Py2.py
复制代码 代码如下:

#!/usr/bin/env python
import Py1.py
 
def test():
 print '__name__ = ',__name__
if __name__ == '__main__':
 test()
 print ‘Py1.py __name__ = ',Py1.__name__

执行结果:
复制代码 代码如下:

__name__=__main__
Py1.py __name__=Py1

通过结果可以知道,Py2.py直接执行,那么内建变量__name__的值为__main__,否则为模块的名字,通过这个特性可以在if语句里面添加测试代码,可以提高减少BUG,提高程序的健壮性。
复制代码 代码如下:

if __name__ == '__main__':
 test()

相关文章

Python考拉兹猜想输出序列代码实践

考拉兹猜想(英语:Collatz conjecture),是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。(摘自Wiki)...

Flask框架路由和视图用法实例分析

本文实例讲述了Flask框架路由和视图用法。分享给大家供大家参考,具体如下: 创建一个简单flask框架程序 #1.导入Flask类 from flask import Flask...

pycharm远程调试openstack代码

pycharm远程调试openstack代码

本文实例为大家分享了pycharm远程调试openstack的具体代码,供大家参考,具体内容如下 1.安装pycharm专业版 本文安装pycharm 2016.2.3专业版。网上教程较...

django Serializer序列化使用方法详解

Serializer序列化器 定义Serializer 1. 定义方法 Django REST framework中的Serializer使用类来定义,须继承自rest_frame...

Pandas读写CSV文件的方法示例

Pandas读写CSV文件的方法示例

读csv 使用pandas读取 import pandas as pd import csv if name == '__main__': # header=0——表示csv文件的...