Python程序设计基础与应用
上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.