使用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操作数据库之sqlite3打开数据库、删除、修改示例
Mar 13 Python
Python解释执行原理分析
Aug 22 Python
python获取外网ip地址的方法总结
Jul 02 Python
横向对比分析Python解析XML的四种方式
Mar 30 Python
python append、extend与insert的区别
Oct 13 Python
Python 通过URL打开图片实例详解
Jun 01 Python
Python基于列表list实现的CRUD操作功能示例
Jan 05 Python
python创建文件时去掉非法字符的方法
Oct 31 Python
python3实现名片管理系统
Nov 29 Python
对Python3中bytes和HexStr之间的转换详解
Dec 04 Python
Python爬虫抓取技术的一些经验
Jul 12 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 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
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
一个颜色轮换的简单例子
2006/10/09 PHP
php中var_export与var_dump的区别分析
2010/08/21 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
javascript 模拟JQuery的Ready方法实现并出现的问题
2009/12/06 Javascript
模仿百度三维地图的js数据分享
2011/05/12 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
Vue路由切换时的左滑和右滑效果示例
2018/05/29 Javascript
Vue中的Props(不可变状态)
2018/09/29 Javascript
vue+Element-ui实现分页效果实例代码详解
2018/12/10 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
python中将字典转换成其json字符串
2014/07/16 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
教师师德考核自我评价
2014/09/13 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
离婚协议书怎么写
2015/01/26 职场文书
会议营销主持词
2015/07/03 职场文书
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis