Python 教程之变量(10)—— Python 中的 __name__ (一个特殊变量)

简介: Python 教程之变量(10)—— Python 中的 __name__ (一个特殊变量)

由于 Python 中没有 main() 函数,当运行 Python 程序的命令被赋予解释器时,0 级缩进的代码将被执行。但是,在此之前,它将定义一些特殊变量。name 就是这样一个特殊变量。如果源文件作为主程序执行,则解释器将 name 变量设置为具有值“main”。如果此文件是从另一个模块导入的,则 name 将设置为模块的名称。

name 是一个内置变量,计算结果为当前模块的名称。 因此,它可以用于检查当前脚本是单独运行还是通过与 if 语句结合使用来导入其他地方,如下所示。

考虑两个单独的文件 File1 和 File2。

# File1.py
print ("File1 __name__ = %s" %__name__)
if __name__ == "__main__":
  print ("File1 is being run directly")
else:
  print ("File1 is being imported")
# File2.py
import File1
print ("File2 __name__ = %s" %__name__)
if __name__ == "__main__":
  print ("File2 is being run directly")
else:
  print ("File2 is being imported")

现在解释器得到了运行 File1.py 的命令。

python File1.py

输出 :

File1 name = main

File1 is being run directly

然后 File2.py 运行。

python File2.py

输出 :

File1 name = File1

File1 is being imported

File2 name = main

File2 is being run directly

如上所见,当File1.py直接运行时,解释器将__name__变量设置为__main__,当通过File2.py导入运行时,__name__变量设置为python脚本的名称

,即File1。因此,可以说如果 name == “main” 是程序的一部分,当脚本使用 python File1.py 之类的命令从命令行运行时运行。


感谢大家的阅读,有什么问题的话可以在评论中告诉我。希望大家能够给我来个点赞+收藏+评论 ,你的支持是海海更新的动力!后面我会持续分享前端 & 后端相关的专业知识。


目录
相关文章
|
1月前
|
JSON C语言 C++
【Python 基础教程 26】Python3标准库全面入门教程:一步步带你深入理解与应用
【Python 基础教程 26】Python3标准库全面入门教程:一步步带你深入理解与应用
63 1
|
1月前
|
存储 安全 API
【Python 基础教程 21】Python3 文件操作全面指南:从入门到精通的综合教程
【Python 基础教程 21】Python3 文件操作全面指南:从入门到精通的综合教程
82 0
|
3天前
|
运维 Shell Python
Shell和Python学习教程总结
Shell和Python学习教程总结
|
4天前
|
存储 Python
Python变量类型
Python变量类型
8 0
|
4天前
|
存储 Python
Python的变量与数据类型详解
Python的变量与数据类型详解
11 0
|
9天前
|
索引 Python
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
11 0
|
11天前
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
|
1月前
|
存储 Python
Python变量与数据类型探秘
本文介绍了Python编程中的核心概念——变量和数据类型。变量是存储数据的标识符,无需预声明类型,类型由赋值自动确定。命名规则要求变量名具有描述性,以字母或下划线开头,区分大小写。Python支持多种数据类型:数值(整数、浮点数、复数)、字符串、列表、元组、字典和集合。理解这些基本概念和类型特性对编写高效Python代码至关重要。
|
1月前
|
存储 算法 数据挖掘
【Python 基础教程 25】全面入门指南:深度解析Python3的命名空间,作用域及变量使用教程
【Python 基础教程 25】全面入门指南:深度解析Python3的命名空间,作用域及变量使用教程
56 0
|
1月前
|
存储 机器学习/深度学习 数据安全/隐私保护
【Python 基础教程 24】全面入门Python面向对象编程:深度探索与实战教程
【Python 基础教程 24】全面入门Python面向对象编程:深度探索与实战教程
79 0