引用的方式
不仅使标准库的模块,所有模块都服从下述引用方式。
最基本的、也是最常用的,还是可读性非常好的:
import modulename
例如:
>>> import pprint
>>> a = {"lang":"Python", "book":"www.itdiffer.com", "teacher":"qiwsir", "goal":"from beginner to master"}
>>> pprint.pprint(a)
{'book': 'www.itdiffer.com',
'goal': 'from beginner to master',
'lang': 'python',
'teacher': 'qiwsir'}
在对模块进行说明的过程中,我以标准库 pprint 为例。以 pprint.pprint()
的方式应用了一种方法,这种方法能够让 dict 格式化输出。看看结果,是不是比原来更容易阅读了你?
在 import 后面,理论上可以跟好多模块名称。但是在实践中,我还是建议大家一次一个名称吧。这样简单明了,容易阅读。
这是用 import pprint
样式引入模块,并以 .
点号的形式引用其方法。
还可以:
>>> from pprint import pprint
意思是从 pprint
模块中之将 pprint()
引入,然后就可以这样来应用它:
>>> pprint(a)
{'book': 'www.itdiffer.com',
'goal': 'from beginner to master',
'lang': 'Python',
'teacher': 'qiwsir'}
再懒惰一些,可以:
>>> from pprint import *
这就将 pprint 模块中的一切都引入了,于是可以像上面那样直接使用每个函数。但是,这样造成的结果是可读性不是很好,并且,有用没用的都拿过来,是不是太贪婪了?贪婪的结果是内存就消耗了不少。所以,这种方法,可以用于常用并且模块属性或方法不是很多的情况。
诚然,如果很明确使用那几个,那么使用类似 from modulename import name1, name2, name3...
也未尝不可。一再提醒的是不能因为引入了模块东西而降低了可读性,让别人不知道呈现在眼前的方法是从何而来。如果这样,就要慎用这种方法。
有时候引入的模块或者方法名称有点长,可以给它重命名。如:
>>> import pprint as pr
>>> pr.pprint(a)
{'book': 'www.itdiffer.com',
'goal': 'from beginner to master',
'lang': 'python',
'teacher': 'qiwsir'}
当然,还可以这样:
>>> from pprint import pprint as pt
>>> pt(a)
{'book': 'www.itdiffer.com',
'goal': 'from beginner to master',
'lang': 'python',
'teacher': 'qiwsir'}
但是不管怎么样,一定要让人看懂,过了若干时间,自己也还能看懂。记住:“软件很多时候是给人看的,只是偶尔让机器执行”。