0
点赞
收藏
分享

微信扫一扫

(P52)模块:像个极客一样去思考:Python标准库,如何查阅python文档?


文章目录

  • ​​1.Python标准库​​
  • ​​2. 如何查阅python文档?​​

1.Python标准库

  • 电池:Python标准库
  • Python标准库中包含一般任务所需要的模块

2. 如何查阅python文档?

  • 查阅Python文档.png
  • (P52)模块:像个极客一样去思考:Python标准库,如何查阅python文档?_极客

  • (1)What’s new in Python3.5?
    介绍了相比Python2.0来说的新的变动。
    (2)Tutorial
    简易的Python教程,简单介绍了Python的语法。
    (3)Liberary Reference
    Python的整编书,这里详细列举了Python所有内置函数和标准库的各个模块的用法,非常详细,但是,你从头到尾是看不完的,当做字典来查就可以了。
    (4)Inatalling Python Modules
    教你如何安装Python的第三方模块
    (5)Distuributing Python Modules
    教你如何发布Python的第三方模块,你需要知道,Python除了标准库的几百个官方模块之外,还有一个叫做 pypi 的社区,网站为:https://pypi.python.org/pypi 搜集了全球Python爱好者贡献出来的模块,你自己也可以写一个模块发布到pypi社区,分享给全世界。
    (6)language reference
    讨论Python的语法和设计哲学
    (7)Python setup and usage
    谈论Python如何在不同平台上安装和使用
    (8)Python HOWTOs
    针对一些特定的主题进行深入并且详细的探讨
    (9)Extending and Embedding
    介绍如何用 C和 C++ 来开发Python的扩展模块,还有开发对应所需要的API
    关于用 C和 C++ 为Python开发扩展,也会在后面的笔记中谈到。
    (10)FAQs
    常见问题解答
    (11)PEP相关
  • (P52)模块:像个极客一样去思考:Python标准库,如何查阅python文档?_Python_02


  • (P52)模块:像个极客一样去思考:Python标准库,如何查阅python文档?_极客_03

  • PEP是Python Enhancement Proposals 的缩写,翻译过来就是Python增强建议书的意思。它是用来规范与定义Python的各种加强和延伸功能的技术规格,好让Python开发社区能有共同遵循的依据。
    有关 PEP 的列表大家可以参考 PEP 0 :https://www.python.org/dev/peps/。
  • (1)快速掌握一个模块的用法,可以利用IDE:__doc__属性,eg:timeit计时器模块的学习

(1)
>>> import timeit
>>> print(timeit.__doc__)
Tool for measuring execution time of small code snippets.

This module avoids a number of common traps for measuring execution
times. See also Tim Peters' introduction to the Algorithms chapter in
the Python Cookbook, published by O'Reilly.

Library usage: see the Timer class.

Command line usage:
python timeit.py [-n N] [-r N] [-s S] [-p] [-h] [--] [statement]

(2)使用dir()函数可以查询到该模块定义了哪些变量、函数和类。
>>> dir(timeit)
['Timer', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_globals', 'default_number', 'default_repeat', 'default_timer', 'dummy_src_name', 'gc', 'itertools', 'main', 'reindent', 'repeat', 'sys', 'template', 'time', 'timeit']

(3)你可以留意到这里有个__ all__属性,事实是它就是帮助我们完成一个过滤的操作。
>>> timeit.__all__
['Timer', 'timeit', 'repeat', 'default_timer']

timeit模块其实只有一个类和三个函数供我们外部调用而已,所以__ all__属性就可以直接获得可供调用接口的信息。
这里有两点需要注意:
第一,不是所以的模块都有__ all__属性;
第二,如果一个模块设置了__ all__属性,那么使用“ from timeit import * ” 这样的形式导入命名空间,
就只有__ all__属性这个列表里边的名字才会被导入。其他的名字不受影响。

>>> from timeit import *
>>> Timer
<class 'timeit.Timer'>
>>> gc
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
gc
NameError: name 'gc' is not defined

(4)但如果没有设置__ all__属性的话,用“ from 模块名 import * ”就会把所有不以下划线开头的名字都导入到当前的命名空间。
所以,建议在编写模块的时候,将对外提供的接口函数和类都设置到__ all__属性这个列表里。

(5)另外还有一个叫作__ file__的属性,这个属性指明了该模块的源代码的位置。
>>> import timeit
>>> timeit.__file__
'D:\\Python\\Python3.7\\lib\\timeit.py'

  • (2)快速掌握一个模块的用法,使用help()函数,比__doc__属性详细一点,eg:timeit计时器模块的学习

>>> help(timeit)
Help on module timeit:

NAME
timeit - Tool for measuring execution time of small code snippets.

  • 参考:​​第五十二课:像个极客那样去思考​​,​​小甲鱼第52讲:像极客一样去思考​​


举报

相关推荐

0 条评论