Python 模块有描述它的属性。属性执行一些任务或包含一些关于模块的信息。一些重要属性解释如下:
_ 名称 _ 属性
__name__
属性返回模块的名称。默认情况下,文件的名称(不包括扩展名。py)是 name 属性的值。
Example: name Attribute
>>> import math
>>> math.__name__
'math'
同样,它给出了自定义模块的名称。
Example: name Attribute
>>> hello.__name__
'hello'
但是,这可以通过为该属性分配不同的字符串来修改。如下图改变hello.py
。
Example: Set name
def SayHello(name):
print ("Hi {}! How are you?".format(name))
__name__="SayHello"
现在检查__name__
属性。
>>> import hello
>>> hello.__name__
'SayHello'
__name__
属性的值是 Python 交互 Shell上的__main__
。
>>> __name__
'__main__'
当我们运行任何 Python 脚本(即模块)时,其__name__
属性也被设置为__main__
。 例如,在 IDLE 中创建以下 welcome.py。
Example: welcome.py
print("__name__ = ", __name__)
按 F5 在 IDLE 中运行上述 welcome.py。您将看到以下结果。
Output in IDLE:
>>> __name__ = __main__
但是,当导入该模块时,其__name__
被设置为其文件名。 现在,用以下内容导入新文件 test.py 中的欢迎模块。
Example: test.py
import welcome
print("__name__ = ", __name__)
现在按 F5 在 IDLE 中运行 test.py。__name__
属性现在是“欢迎”。
Example: test.py
__name__ = welcome
该属性允许 Python 脚本用作可执行文件或模块。
更多信息请访问 Python 中的 main。
_ 文档 _ 属性
doc 属性表示用模块代码编写的文档字符串(docstring)行。
Example:
>>> import math
>>> math.__doc__
'This module is always available. It provides access to the mathematical functions defined by the C standard.'
考虑以下脚本保存为test.py
模块。
test.py
"""This is docstring of test module"""
def SayHello(name):
print ("Hi {}! How are you?".format(name))
return
__doc__
属性将返回一个在模块代码开头定义的字符串。
Example:
>>> import test
>>> test.__doc__
'This is docstring of test module'
_ 文件 _ 属性
__file__
是一个可选属性,保存从中加载它的模块文件的名称和路径。
Example: file Attribute
>>> import io
>>> io.__file__
'C:\\python37\\lib\\io.py'
_ 字典 _ 属性
__dict__
属性将返回模块属性、函数和其他定义及其各自值的字典对象。
Example: dict Attribute
>>> import math
>>> math.__dict__
{'__name__': 'math', '__doc__': 'This module is always available. It provides a
ccess to the\nmathematical functions defined by the C standard.', '__package__':
'', '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': Modu
leSpec(name='math', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='
built-in'), 'acos': <built-in function acos>, 'acosh': <built-in function acosh>
, 'asin': <built-in function asin>, 'asinh': <built-in function asinh>, 'atan':
<built-in function atan>, 'atan2': <built-in function atan2>, 'atanh': <built-in
function atanh>, 'ceil': <built-in function ceil>, 'copysign': <built-in functi
on copysign>, 'cos': <built-in function cos>, 'cosh': <built-in function cosh>,
'degrees': <built-in function degrees>, 'erf': <built-in function erf>, 'erfc':
<built-in function erfc>, 'exp': <built-in function exp>, 'expm1': <built-in fun
ction expm1>, 'fabs': <built-in function fabs>, 'factorial': <built-in function
factorial>, 'floor': <built-in function floor>, 'fmod': <built-in function fmod>
, 'frexp': <built-in function frexp>, 'fsum': <built-in function fsum>, 'gamma':
<built-in function gamma>, 'gcd': <built-in function gcd>, 'hypot': <built-in f
unction hypot>, 'isclose': <built-in function isclose>, 'isfinite': <built-in fu
nction isfinite>, 'isinf': <built-in function isinf>, 'isnan': <built-in functio
n isnan>, 'ldexp': <built-in function ldexp>, 'lgamma': <built-in function lgamm
a>, 'log': <built-in function log>, 'log1p': <built-in function log1p>, 'log10':
<built-in function log10>, 'log2': <built-in function log2>, 'modf': <built-in
function modf>, 'pow': <built-in function pow>, 'radians': <built-in function ra
dians>, 'remainder': <built-in function remainder>, 'sin': <built-in function si
n>, 'sinh': <built-in function sinh>, 'sqrt': <built-in function sqrt>, 'tan': <
built-in function tan>, 'tanh': <built-in function tanh>, 'trunc': <built-in fun
ction trunc>, 'pi': 3.141592653589793, 'e': 2.718281828459045, 'tau': 6.28318530
7179586, 'inf': inf, 'nan': nan}
dir() 是一个内置函数,也返回一个模块中所有属性和函数的列表。
Know Module Attributes and Methods
在 Python 文档中了解更多模块属性。***