1. __name__

__name__ 是一个特殊的全局变量,用于表示当前模块的名称。它常用于判断一个模块是被直接运行还是被导入到其他模块中。以下是一个示例:

1
2
3
4
5
6
7
8
9
10
# example.py

def main():
print("This is the main function.")

if __name__ == "__main__":
print("This will be executed when the file is run directly.")
main()
else:
print("This will be executed when the file is imported as a module.")

当直接运行 example.py 文件时,会输出:

1
2
This will be executed when the file is run directly.
This is the main function.

而当在另一个 Python 文件中导入 example.py 时,会输出:

1
This will be executed when the file is imported as a module.

2. __file__

__file__ 是一个特殊的全局变量,用于表示当前模块的文件路径。它可以帮助我们获取模块的绝对路径或相对路径。以下是一个示例:

1
2
3
4
import os

module_path = os.path.abspath(__file__)
print(module_path) # 输出:/path/to/module.py

3. __doc__

__doc__ 是一个特殊的全局变量,用于表示当前对象的文档字符串。它常用于在代码中添加文档注释和生成文档。以下是一个示例:

1
2
3
4
5
6
7
def my_function():
"""This is a documentation string for my_function."""
pass


print(my_function.__doc__) # 输出:This is a documentation string for my_function.

4. __builtins__

__builtins__ 是一个特殊的全局变量,用于表示内置命名空间。通过它,我们可以访问和使用内置函数和常用对象。以下是一个示例:

1
print(__builtins__.len([1, 2, 3]))  # 输出:3

5. __package__

__package__ 是一个特殊的全局变量,用于表示当前模块所属的包名称。它常用于在包内部引用其他模块。以下是一个示例:

1
2
package_name = __package__
print(package_name) # 输出:my_package