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通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v