您的位置:

Python 模块属性:名称、文档、文件、字典

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 文档中了解更多模块属性。***