上QQ阅读APP看书,第一时间看更新
1.7 Python程序的__name__属性
除了可以在开发环境中或命令提示符环境中直接运行,Python程序文件还可以作为模块导入并使用其中的对象。通过Python程序的__name__属性可以识别程序的使用方式,如果作为模块被导入,则其__name__属性的值被自动设置为模块名;如果作为程序直接运行,则其__name__属性值被自动设置为字符串“__main__”。例如,假设程序hello.py中代码如下。
1. def main(): #def是用来定义函数的Python关键字 2. if __name__ == '__main__': #选择结构,识别当前运行方式 3. print('This program is run directly.') 4. elif __name__ == 'hello': #冒号、换行、缩进表示一个语句块的开始 5. print('This program is used as a module.') 6. 7. main() #调用上面定义的函数
那么通过任何方式直接运行该程序,都会得到下面的结果。
This program is run directly.
而在使用import hello导入该模块时,得到的结果如下。
This program is used as a module.