Python 自学不求人

2024-01-17 04:59
文章标签 python 自学 不求人

本文主要是介绍Python 自学不求人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自学 Python 不求人,本文介绍 Python 自学时如何获取免费权威的帮助信息。

概述

  • 如何使用 Python 自带的 help() 方法
  • 如何利用 Python 文档
  • 获取中文文档

获取帮助 help

每次进入 python 解释器的交互模式时,都会先打印横幅消息,在版本信息下面就是推荐
的命令:

Type "help", "copyright", "credits" or "license" for more information.
>>>

让我们试试:

>>> help
Type help() for interactive help, or help(object) for help about object.
>>>

提示使用 help() 进入交互式的 help,或者使用传一个对象给 help(object)

交互式 help

不带参数调用 help() 进入到 help 的交互模式:

>>> help()Welcome to Python 3.8's help utility!If this is your first time using Python, you should definitely check out
the tutorial on the Internet at https://docs.python.org/3.8/tutorial/.Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".To get a list of available modules, keywords, symbols, or topics, type
"modules", "keywords", "symbols", or "topics".  Each module also comes
with a one-line summary of what it does; to list the modules whose name
or summary contain a given string such as "spam", type "modules spam".help>   <--- 开始变成 help 的提示符

这时候可以输入想要查询的任何内容,有几种特定的查询词:

  • modules,显示所有的 模块 列表

  • keywords,显示所有关键字

  • symbols, 显示所有的符号

  • topics,显示一些特定的话题,注意这些话题都是全部大写的,想要继续查询也需要输入全部大写的话题名。

help(thing)

进入交互式模式步骤较多,所以大多少情况下我们直接给 help() 传递一个参数,这个参数就是要查的 东西,比如用来查询 help 自己:

>>> help(help)
Help on _Helper in module _sitebuiltins object:class _Helper(builtins.object)|  Define the builtin 'help'.||  This is a wrapper around pydoc.help that provides a helpful message|  when 'help' is typed at the Python interactive prompt.||  Calling help() at the Python prompt starts an interactive help session.|  Calling help(thing) prints help for the python object 'thing'.||  Methods defined here:||  __call__(self, *args, **kwds)|      Call self as a function.||  __repr__(self)|      Return repr(self).||  ----------------------------------------------------------------------|  Data descriptors defined here:||  __dict__|      dictionary for instance variables (if defined)||  __weakref__|      list of weak references to the object (if defined)

这个 东西 可以是一个对象,Python 里面一切皆对象,所以它就是任何我们能用的东西(变量、函数、类、模块等),但是这里有个前提是,这个对象必须得在当前的命名空间内能访问,这才能直接用它的名字,比如 sys 模块,要导入后才能查。

会在以后讲解变量的时候详细讨论名字。

如果没有导入就会报错:

>>> help(sys)
Traceback (most recent call last):File "<stdin>", line 1, in <module>
NameError: name 'sys' is not defined

所以这种传对象的方式也不能去查关键字和符号,比如:

>>> help(def)File "<stdin>", line 1help(def)^
SyntaxError: invalid syntax>>> help(+)File "<stdin>", line 1help(+)^
SyntaxError: invalid syntax

这时候就需要把查询关键字用引号括起来作为字符串传给 help()

>>> help('sys')
>>> help('def')
>>> help('+')

help 交互模式下没有此限制

所以,help 的用法很简单,哪里不会查哪里。

help 的帮助信息里面还有关键的一句话:

This is a wrapper around pydoc.help that provides a helpful message

when 'help' is typed at the Python interactive prompt.

我们简单看下 pydoc

pydoc 模块

pydoc 是一个模块,用来从 python 模块自动生成文档(documentation)。

>>> import pydoc
>>> pydoc.help.help('sys')   # 等价 help('sys')

pydoc 提供了命令行操作,不过无法直接使用。用我们学过的 python -m 的启动方式即可:

# 在命令行中执行,不是在 python 交互环境
python -m pydoc
pydoc - the Python documentation toolpydoc <name> ...Show text documentation on something.  <name> may be the name of aPython keyword, topic, function, module, or package, or a dottedreference to a class or function within a module or module in apackage.  If <name> contains a '\', it is used as the path to aPython source file to document. If name is 'keywords', 'topics',or 'modules', a listing of these things is displayed.pydoc -k <keyword>Search for a keyword in the synopsis lines of all available modules.pydoc -n <hostname>Start an HTTP server with the given hostname (default: localhost).pydoc -p <port>Start an HTTP server on the given port on the local machine.  Portnumber 0 can be used to get an arbitrary unused port.pydoc -bStart an HTTP server on an arbitrary unused port and open a Web browserto interactively browse documentation.  This option can be used incombination with -n and/or -p.pydoc -w <name> ...Write out the HTML documentation for a module to a file in the currentdirectory.  If <name> contains a '\', it is treated as a filename; ifit names a directory, documentation is written for all the contents.

这里参数还是比较简单的,普通的使用就和 help 差不多,唯一有点亮点的是可以自动起一个 HTTP 服务器,并自动打开浏览器,显示文档的 html 页面:

python -m pydoc -b

这里需要说明的是,因为这个帮助系统是通过 module 自动生成的,所以它不仅仅是能显示 Python 标准库的帮助信息。正常安装的第三方库的帮助信息也能一起查询到。

比如说,查一下 requests:

>>> help('requests')
Help on package requests:NAMErequestsDESCRIPTIONRequests HTTP Library~~~~~~~~~~~~~~~~~~~~~Requests is an HTTP library, written in Python, for human beings. Basic GETusage:>>> import requests>>> r = requests.get('https://www.python.org')>>> r.status_code200>>> 'Python is a programming language' in r.contentTrue

Python 文档

打开 安装 Python 时自带的 .chm 帮助文档,可以看到内容非常多。

文档内容指引

文档的内容非常详尽,所以也不可能完全看完,我把它们大概分为 4 种:

  • 可以通读的:
    • 入门教程:初学者首选
    • 语言参考:进阶者必看
  • 可以选读的:
    • 标准库:里面内容是按照话题展开讨论的
    • HowTo:类似于 cookbook,里面是特定的任务
  • 日常检索(平常最多的时候是通过上面的索引栏查找关键字,有时候不清楚拿什么搜的时候可以看索引表)
    • 模块索引:
    • 术语表
    • FAQ
  • 特定目的
    • 安装配置
    • 安装包:主要就是介绍 pypi 和 venv
    • 分发包: 教你如何开发和发布自己的包
    • C 语言相关扩展

中文文档

在广大网友的帮助下,Python 文档的中文翻译也进行的不错,虽然还没有到 100% 覆盖,但是大部分还是可以的。

而且其中的内容我挑着看了些,翻译的还是很准确的。

在 Python 在线文档 里可以选择语言为 简体中文,或者直接打开 中文文档链接:

在线中文文档

看到左上角还有下载按钮:

下载中文文档

下载页面是英文的,别怕,下载下来的文档都是中文的。有 3 种格式:

  • pdf 的,细分了两种,我没看出大区别,推荐 A4

pdf 文件是按照大的一级目录划分的,所以可以单个打开,比较适合当书看。

pdf 文件列表

目录书签,还带语法高亮,还要啥自行车。

pdf 文档内容

  • html 的,每个文件都是单一的 html,文件数目比较多,不过通过浏览器打开效果和在线没区别

html 文档

  • epub 的,我想转一下到 Kindle 看效果的,结果试了几个工具都报错,有知道的小伙伴可以在评论区留言。

文章内容虽基础,整理发布不轻松

如果看过有帮助,不妨 点赞 + 关注,谢谢!

这篇关于Python 自学不求人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/614932

相关文章

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e