使用Python3内置文档高效学习以及官方中文文档


Posted in Python onMay 19, 2019

概述

从前面的对Python基础知识方法介绍中,我们几乎是围绕Python内置方法进行探索实践,比如字符串、列表、字典等数据结构的内置方法,和大量内置的标准库,诸如functools、time、threading等等,而我们怎么快速学习掌握并学会使用这个Python的工具集呢? 我们可以利用Python的内置文档大量资源既可以掌握许多关于Python工具集的基本使用。

dir函数

Python中内置的dir函数用于提取某对象内所有属性的方法,,诸如对象的方法及属性

L = [1, 2, 3, 4]
print(dir(L))
print([])

示例结果:

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

可以看到我们可以传入某实例对象查看其属性,也可以直接传入其内置类型的空对象查看对应属性,我们甚至还可以直接传入类型的名称得到对应的属性列表:

print(dir(list))

示例结果:

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

虽然我们获得了对象的属性,但我们仍然不知道这些属性方法的含义,那么我们可以利用文档字符串帮助我们继续学习对象属性。

文档字符串:doc

文档字符串是由Python自动生成的,而生成的内内容和位置取决于我们的放置方式,文档字符串也是一段注释,放在模块文件、函数以及类语句的顶端,然后Python会自动封装这个字符串,即成为所谓的文档字符串,通过对象的__doc__进行查看。

def two_sum(x, y):
 '''
 Used to calculate the sum of two numbers
 '''
 return x + y


print(two_sum.__doc__)

示例结果:

Used to calculate the sum of two numbers

以上示例就实现了对一个函数(用于计算两数之和)绑定文档字符串并查看其文档字符串的过程。我们也可以查看一些内置类型的某属性的具体使用方法,比如查看列表对象中pop的具体含义和用法

L = [1, 2, 3, 4]
print(L.pop.__doc__)

示例结果:

L.pop([index]) -> item -- remove and return item at index (default last).
Raises IndexError if list is empty or index is out of range.

PyDoc:help函数

我们可以利用Python中help函数工具更加友好结构化的展示对象的文档字符串和其他的信息,对于对于某些较大的对象help内容会分成几段,甚至可以进行交互展示对象的详细信息。

help(list)

交互结果:

Help on class list in module __builtin__:

class list(object)
 |  list() -> new empty list
 |  list(iterable) -> new list initialized from iterable's items
 |
 |  Methods defined here:
 |
 |  __add__(...)
 |      x.__add__(y) <==> x+y
 |
 |  __contains__(...)
 |      x.__contains__(y) <==> y in x
 |
 |  __delitem__(...)
 |      x.__delitem__(y) <==> del x[y]
 |
 |  __delslice__(...)
 |      x.__delslice__(i, j) <==> del x[i:j]
 |
-- More  --

比如我们可以通过help查看列表的所有详细信息和属性的用法等,通过回车键查看更多的信息。

官方中文文档

对于英文阅读有一定困难的小伙伴,新出Python官方中文文档是较好的学习体验教程:docs.python.org/zh-cn/3/,从入门教程,标准库,在到Python高级特性应有尽有,算是不错的学习资源和一本常用的**“Python字典”**。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
May 16 Python
python实现最长公共子序列
May 22 Python
使用Django启动命令行及执行脚本的方法
May 29 Python
Atom的python插件和常用插件说明
Jul 08 Python
Win8下python3.5.1安装教程
Jul 29 Python
django 自定义filter 判断if var in list的例子
Aug 20 Python
python集合删除多种方法详解
Feb 10 Python
Keras自定义实现带masking的meanpooling层方式
Jun 16 Python
python cv2.resize函数high和width注意事项说明
Jul 05 Python
Python图像处理二值化方法实例汇总
Jul 24 Python
使用pandas模块实现数据的标准化操作
May 14 Python
Python使用BeautifulSoup4修改网页内容
May 20 Python
python反编译学习之字节码详解
May 19 #Python
python从入门到精通 windows安装python图文教程
May 18 #Python
详解用Python实现自动化监控远程服务器
May 18 #Python
Python实现打砖块小游戏代码实例
May 18 #Python
如何在Python中实现goto语句的方法
May 18 #Python
OpenCV搞定腾讯滑块验证码的实现代码
May 18 #Python
Python3匿名函数lambda介绍与使用示例
May 18 #Python
You might like
php 运行效率总结(提示程序速度)
2009/11/26 PHP
php的dl函数用法实例
2014/11/06 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
phpQuery让php处理html代码像jQuery一样方便
2015/01/06 PHP
日常整理PHP中简单的图形处理(经典)
2015/10/26 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
超棒的javascript页面顶部卷动广告效果
2007/12/01 Javascript
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
网页整体变灰白色(兼容各浏览器)实例
2013/04/21 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
2015/12/26 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
2017/02/18 Javascript
源码分析Vue.js的监听实现教程
2017/04/23 Javascript
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
python并发编程之线程实例解析
2017/12/27 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
自我评价怎么写好呢?
2013/12/05 职场文书
大学生自我鉴定范文模板
2014/01/21 职场文书
企业内控岗位的职责
2014/02/07 职场文书
学校募捐倡议书
2014/05/14 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
html5中sharedWorker实现多页面通信的示例代码
2021/05/07 Javascript
使用ORM新增数据在Mysql中的操作步骤
2021/07/26 MySQL
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android