Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
zetcode-zh
提交
2efcfbce
Z
zetcode-zh
项目概览
OpenDocCN
/
zetcode-zh
9 个月 前同步成功
通知
2
Star
157
Fork
40
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zetcode-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
2efcfbce
编写于
10月 29, 2019
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2019-10-29 20:49:34
上级
767d0d96
变更
23
隐藏空白更改
内联
并排
Showing
23 changed file
with
155 addition
and
155 deletion
+155
-155
docs/py/12.md
docs/py/12.md
+1
-1
docs/py/14.md
docs/py/14.md
+2
-2
docs/py/20.md
docs/py/20.md
+1
-1
docs/py/3.md
docs/py/3.md
+1
-1
docs/py/30.md
docs/py/30.md
+1
-1
docs/py/42.md
docs/py/42.md
+10
-10
docs/py/43.md
docs/py/43.md
+6
-6
docs/py/44.md
docs/py/44.md
+3
-3
docs/py/45.md
docs/py/45.md
+3
-3
docs/py/46.md
docs/py/46.md
+3
-3
docs/py/47.md
docs/py/47.md
+6
-6
docs/py/48.md
docs/py/48.md
+9
-9
docs/py/49.md
docs/py/49.md
+4
-4
docs/py/50.md
docs/py/50.md
+15
-15
docs/py/51.md
docs/py/51.md
+5
-5
docs/py/52.md
docs/py/52.md
+7
-7
docs/py/53.md
docs/py/53.md
+12
-12
docs/py/54.md
docs/py/54.md
+6
-6
docs/py/55.md
docs/py/55.md
+14
-14
docs/py/56.md
docs/py/56.md
+26
-26
docs/py/58.md
docs/py/58.md
+14
-14
docs/py/59.md
docs/py/59.md
+5
-5
docs/py/61.md
docs/py/61.md
+1
-1
未找到文件。
docs/py/12.md
浏览文件 @
2efcfbce
...
...
@@ -912,7 +912,7 @@ Outside function Robert
## Python 匿名函数
可以在 Python 中创建匿名函数。 匿名函数没有名称。 使用
`lambda`
关键字,几乎无法创建任何匿名函数。 Python 程序员也将匿名函数称为 lambda 函数。 它们是 Python 中合并的函数
范
例的一部分。
可以在 Python 中创建匿名函数。 匿名函数没有名称。 使用
`lambda`
关键字,几乎无法创建任何匿名函数。 Python 程序员也将匿名函数称为 lambda 函数。 它们是 Python 中合并的函数
示
例的一部分。
Lambda 函数仅限于单个表达式。 它们可以在可以使用常规函数的任何地方使用。 ZetCode 上有一个
[
Python lambda 函数
](
http://zetcode.com/python/lambda/
)
教程。
...
...
docs/py/14.md
浏览文件 @
2efcfbce
...
...
@@ -4,11 +4,11 @@
在 Python 教程的这一部分中,我们将讨论 Python 中的面向对象编程。
那里有三种广泛使用的编程
范例:过程编程,函数编程和面向对象的编程。 Python 支持所有三种编程范
例。
那里有三种广泛使用的编程
示例:过程编程,函数编程和面向对象的编程。 Python 支持所有三种编程示
例。
## 面向对象编程
面向对象编程(OOP)是一种使用对象及其相互作用设计应用程序和计算机程序的编程
范
例。
面向对象编程(OOP)是一种使用对象及其相互作用设计应用程序和计算机程序的编程
示
例。
OOP 中有一些基本的编程概念:
...
...
docs/py/20.md
浏览文件 @
2efcfbce
...
...
@@ -266,7 +266,7 @@ customized unique words: ['forest', 'blue', 'sky']
这是一个示例输出。
## Faker 个人
资料
## Faker 个人
数据
Faker 可以使用
`simple_profile()`
创建简单的虚拟配置文件,并使用
`profile()`
创建扩展的配置文件。
...
...
docs/py/3.md
浏览文件 @
2efcfbce
...
...
@@ -16,7 +16,7 @@ Python 是一种简约语言。 它最明显的特征之一是它不使用分号
目前,Python 有两个主要分支:Python 2.x 和 Python3.x。 Python 3.x 打破了与早期版本 Python 的向后兼容性。 它的创建是为了纠正该语言的某些设计缺陷并使其更简洁。 本教程介绍了 Python 3.x 版本。 今天,Python 由世界各地的一大批志愿者维护。 Python 是开源软件。
Python 支持多种编程样式。 它不会强迫程序员采用特定的
范
例。 它支持过程,面向对象和功能编程。
Python 支持多种编程样式。 它不会强迫程序员采用特定的
示
例。 它支持过程,面向对象和功能编程。
Python 编程语言的官方网站是
[
python.org
](
http://python.org
)
...
...
docs/py/30.md
浏览文件 @
2efcfbce
...
...
@@ -14,7 +14,7 @@ Python 日志教程展示了如何使用日志模块在 Python 中进行日志
*
信息收集
*
故障排除
*
产生统计
资料
*
产生统计
数据
*
稽核
*
剖析
...
...
docs/py/42.md
浏览文件 @
2efcfbce
#
瓶子
教程
#
Bottle
教程
> 原文: [http://zetcode.com/python/bottle/](http://zetcode.com/python/bottle/)
Bottle 教程展示了如何使用 Python Bottle micro Web 框架在 Python 中创建简单的 Web 应用程序。
##
瓶子
##
Bottle
Bottle 是用于 Python 的快速,简单且轻量级的 WSGI 微型网络框架。 它作为单个文件模块分发。 除 Python 标准库外,没有其他依赖项。
Web 服务器网关接口(WSGI)是 Web 服务器的简单调用约定,用于将请求转发到以 Python 编程语言编写的 Web 应用程序或框架。
##
瓶子
安装
##
Bottle
安装
```
$ sudo pip3 install bottle
...
...
@@ -89,7 +89,7 @@ Today is a beautiful day
我们使用
`curl`
工具创建一个请求。 服务器以一条简单消息响应。
##
瓶子
JSON 响应
##
Bottle
JSON 响应
Web 应用程序通常以 JSON 格式发送响应。 Bottle 自动将 Python 词典转换为 JSON。
...
...
@@ -138,7 +138,7 @@ $ curl localhost:8080/cars
我们收到一个命名的 JSON 数组。
##
瓶子
获取请求
##
Bottle
获取请求
HTTP GET 方法请求指定资源的表示形式。 在 Bottle 中,我们可以使用
`@route`
或
`@get`
装饰器映射 GET 请求。 从
`request.query`
检索数据。
...
...
@@ -189,7 +189,7 @@ Peter is 34 years old
我们使用
`curl`
工具发出 GET 请求。 GET 请求是
`curl`
的默认请求。 我们将
`name`
和
`age`
参数添加到查询字符串。
##
瓶装
静态文件
##
Bottle
静态文件
使用
`static_file()`
,我们可以在 Bottle 中提供静态文件。
...
...
@@ -252,7 +252,7 @@ return static_file(filepath, root='./public/')
通过
`static_file()`
功能,我们可以提供静态文件。 静态文件所在的目录在
`root`
参数中指定。
##
瓶式
过滤器
##
Bottle
过滤器
包含通配符的路由称为动态路由(与静态路由相对)。 它们可以同时匹配多个 URL。 通配符由括在尖括号中的名称组成(例如
<
名称
>
),并且可以接受一个或多个字符,直到下一个斜杠为止。
...
...
@@ -292,7 +292,7 @@ Object with id 3 returned
在这里,我们向路径添加一个整数。
##
瓶子形式的
例子
##
Bottle
例子
在下面的示例中,我们将表单发送到 Bottle 应用程序。
...
...
@@ -384,7 +384,7 @@ def process():
在这里,我们处理表格。 我们使用
`@post`
装饰器。 我们从
`request.forms`
获取数据并构建消息字符串。
##
瓶子
错误处理程序
##
Bottle
错误处理程序
可以使用
`@error`
装饰器创建自定义错误页面。
...
...
@@ -513,7 +513,7 @@ else:
如果有数据,我们将使用
`json.dumps()`
将其转换为 JSON,然后将其返回给客户端。 否则,我们会发送 204 状态代码。
##
瓶子
模板示例
##
Bottle
模板示例
模板引擎是一个旨在将模板与数据模型结合以生成结果文档的库。 默认情况下,Bottle 使用简单的模板引擎。
...
...
docs/py/43.md
浏览文件 @
2efcfbce
...
...
@@ -21,7 +21,7 @@ $ sudo pip3 install jinja2
我们使用
`pip3`
工具安装 Jinja。
## Jinja
定界
符
## Jinja
分隔
符
Jinja 在模板字符串中使用各种分隔符。
...
...
@@ -111,7 +111,7 @@ My name is Peter and I am 34
这是输出。
##
神社
对象
##
Jinja
对象
我们可以使用模板字符串中的对象。
...
...
@@ -146,7 +146,7 @@ print(msg)
在示例中,我们定义了
`Person`
对象。 我们通过两个获取器获取名称和年龄。
##
辞
典
##
词
典
Jinja 允许使用方便的点表示法来访问 Python 词典中的数据。
...
...
@@ -240,7 +240,7 @@ print(escape(data))
转义功能执行相同的操作。
## Jinja 表达
## Jinja 表达
式
for 表达式用于迭代模板中的数据收集。
...
...
@@ -314,7 +314,7 @@ template = env.get_template('showpersons.txt')
在模板文件中,我们使用 for 表达式遍历集合。 我们显示此人的姓名和年龄。 %字符旁边的破折号用于控制空格。
## Jinja
有
条件
## Jinja 条件
条件是满足特定条件时要评估的表达式。
...
...
@@ -380,7 +380,7 @@ Lucy
这是输出。
## Jinja
sum
过滤器
## Jinja
`sum`
过滤器
可以将过滤器应用于数据以对其进行修改。 例如,sum 筛选器可以对数据求和,escape 筛选器对它们进行转义,sort 筛选器对它们进行排序。
...
...
docs/py/44.md
浏览文件 @
2efcfbce
...
...
@@ -4,7 +4,7 @@
PrettyTable 教程展示了如何使用 Python PrettyTable 模块在 Python 中生成 ASCII 表。 在本教程中,我们使用 PTable 模块,该模块是原始 PrettyTable 库的分支。
##
漂亮表
##
PrettyTable
PrettyTable 是用于生成简单 ASCII 表的 Python 库。 它的灵感来自 PostgreSQL shell psql 中使用的 ASCII 表。 我们可以控制表格的许多方面,例如列填充的宽度,文本的对齐方式或表格边框。 我们可以对数据进行排序。
...
...
@@ -395,7 +395,7 @@ print(x)
该示例从
`data.html`
文件中读取数据,并使用
`from_html_one()`
方法生成一个 PrettyTable。
## 排序
资料
## 排序
数据
使用
`sortby`
属性,我们将指定要排序的列。
`reversesort`
属性控制排序的方向(升序还是降序)。
...
...
@@ -573,7 +573,7 @@ print(x.get_html_string())
该示例将 HTML 表中的数据打印到控制台。
##
get_string
方法
##
`get_string`
方法
`get_string()`
方法返回当前状态下的表的字符串表示形式。 它有几个选项可以控制表格的显示方式。
...
...
docs/py/45.md
浏览文件 @
2efcfbce
...
...
@@ -4,7 +4,7 @@
BeautifulSoup 教程是 BeautifulSoup Python 库的入门教程。 这些示例查找标签,遍历文档树,修改文档和刮取网页。
##
美丽汤
##
BeautifulSoup
BeautifulSoup 是用于解析 HTML 和 XML 文档的 Python 库。 它通常用于网页抓取。 BeautifulSoup 将复杂的 HTML 文档转换为复杂的 Python 对象树,例如标记,可导航字符串或注释。
...
...
@@ -222,7 +222,7 @@ p
在 HTML 文档中,我们有这些标签。
## BeautifulSoup
元素儿童
## BeautifulSoup
子元素
使用
`children`
属性,我们可以获取标签的子级。
...
...
@@ -256,7 +256,7 @@ $ ./get_children.py
`html`
标签有两个子元素:
`head`
和
`body`
。
## BeautifulSoup
元素的后代
## BeautifulSoup
后继元素
使用
`descendants`
属性,我们可以获得标签的所有后代(所有级别的子级)。
...
...
docs/py/46.md
浏览文件 @
2efcfbce
...
...
@@ -4,7 +4,7 @@
Pyquery 教程展示了如何在 Python 中对 XML 文档进行 jquery 查询。
## jQuery
的
## jQuery
jQuery 是一个 JavaScript 库,用于处理 DOM。 使用 jQuery,我们可以查找,选择,遍历和操作 HTML 文档的各个部分。
...
...
@@ -385,7 +385,7 @@ $ ./removing.py
这是输出。
##
项目
方法
##
`items`
方法
`items()`
方法允许迭代元素。
...
...
@@ -451,7 +451,7 @@ with open("index.html", "r") as f:
该代码示例使用
`prepend()`
和
`append()`
方法插入两个
`li`
元素。
##
过滤方式
##
`filter`方法
`filter()`
方法用于过滤元素。
...
...
docs/py/47.md
浏览文件 @
2efcfbce
# Python
for
循环
# Python
`for`
循环
> 原文: [http://zetcode.com/python/forloop/](http://zetcode.com/python/forloop/)
...
...
@@ -51,7 +51,7 @@ d
这是示例的输出。
## Python
for 循环其他
## Python
`for`循环的`else`
`for`
循环具有可选的
`else`
语句,该语句在循环完成时执行。
...
...
@@ -294,7 +294,7 @@ $ ./for_loop_nested.py
这是输出。
## Python
for zip 循环
## Python
`for`循环的`zip`
`zip()`
函数根据给定的可迭代对象创建一个迭代器。
...
...
@@ -326,7 +326,7 @@ apple pen
这是输出。
## Python 循环自定义可迭代
## Python 循环自定义可迭代
对象
在下一个示例中,我们遍历了一个自定义迭代器。
...
...
@@ -369,7 +369,7 @@ $ ./for_loop_custom_iterable.py
这是一个示例输出。
## Python
for break 循环
## Python
`for`循环`break`
`break`
语句终止
`for`
循环。
...
...
@@ -410,7 +410,7 @@ $ ./for_loop_break.py
这是一个示例输出。
## Python
继续循环
## Python
循环`continue`
`continue`
关键字用于中断当前循环,而不会跳出整个循环。 它启动一个新的循环。
...
...
docs/py/48.md
浏览文件 @
2efcfbce
# Python 反
向
# Python 反
转
> 原文: [http://zetcode.com/python/reverse/](http://zetcode.com/python/reverse/)
在本教程中,我们展示了如何反转 Python 序列。
当我们撤消项目时,我们会更改其顺序。 请注意,不应将反
向
与降序排序混淆。
当我们撤消项目时,我们会更改其顺序。 请注意,不应将反
转
与降序排序混淆。
Python 列表具有
`reverse()`
函数。
`[::-1]`
slice 操作可反转 Python 序列。
`reversed()`
内置函数返回反
向迭代器。 内置
`reversed()`
调用对象的
`__reversed__()`
魔术方法以实现反向
迭代。
Python 列表具有
`reverse()`
函数。
`[::-1]`
slice 操作可反转 Python 序列。
`reversed()`
内置函数返回反
转迭代器。 内置
`reversed()`
调用对象的
`__reversed__()`
魔术方法以实现反转
迭代。
## Python 反
向
列表
## Python 反
转
列表
在第一个示例中,我们使用
`reverse()`
方法和
`[::-1]`
运算符反转 Python 列表。
...
...
@@ -37,9 +37,9 @@ $ ./reverse_list.py
这是输出。
## Python
反向功能
## Python
`reversed`函数
`reversed()`
内置函数返回反
向
迭代器。
`reversed()`
内置函数返回反
转
迭代器。
`reversed_fun.py`
...
...
@@ -82,9 +82,9 @@ t s e r o f
这是输出。
## Python 自定义反
向
字符串函数
## Python 自定义反
转
字符串函数
在下面的示例中,我们创建一个自定义字符串反
向
函数。
在下面的示例中,我们创建一个自定义字符串反
转
函数。
`custom_string_reverse.py`
...
...
@@ -124,7 +124,7 @@ def reverse_string(word):
在函数中,我们使用 while 循环以相反的顺序构建新字符串。
## Python
__reversed__
方法
## Python
`__reversed__`
方法
`__reversed__()`
魔术方法实现应返回一个新的迭代器对象,该对象以相反的顺序遍历容器中的所有对象。
...
...
docs/py/49.md
浏览文件 @
2efcfbce
...
...
@@ -6,7 +6,7 @@ Python lambda 函数教程展示了如何在 Python 中创建匿名函数。 Pyt
## Python Lambda 函数
Python lambda 函数(也称为匿名函数)是没有名称的内联函数。 它们是使用
`lambda`
关键字创建的。 这是内置 Python 的功能
范
例的一部分。
Python lambda 函数(也称为匿名函数)是没有名称的内联函数。 它们是使用
`lambda`
关键字创建的。 这是内置 Python 的功能
示
例的一部分。
Python lambda 函数仅限于单个表达式。 它们可以在可以使用常规功能的任何地方使用。
...
...
@@ -68,7 +68,7 @@ sqr_fun = lambda x: x * x
这是示例的输出。
##
带地图的 Python Lambda
##
Python Lambda 和`map`
Python lambda 函数可用于
`map()`
函数。 我们可以创建更简洁的代码。 Python
`map()`
是一个内置函数,该函数将给定函数应用于 iterable 的每一项,并返回一个迭代器对象。
...
...
@@ -101,7 +101,7 @@ $ ./lambda_fun_map.py
这是输出。
##
带过滤器的 Python lambda
##
Python lambda 和`filter`
Python lambda 函数可以与
`filter()`
函数一起使用。
`filter()`
函数根据可迭代的那些元素构造一个列表,这些元素为其返回 true。
...
...
@@ -135,7 +135,7 @@ $ ./lambda_fun_filter.py
这是输出。
##
使用 Tkinter 的 Python Lambda
##
Python Lambda 和 Tkinter
Python lambda 函数可用于 Tkinter 的 GUI 编程中。 它允许为
`command`
参数创建小的内联函数。
...
...
docs/py/50.md
浏览文件 @
2efcfbce
# Python 集
# Python 集
合
> 原文: [http://zetcode.com/python/set/](http://zetcode.com/python/set/)
Python set 教程介绍了 Python set 集合。 我们展示了如何创建集合并对其执行操作。
## Python 集
## Python 集
合
Python 集是无序数据集合,没有重复的元素。 集合支持数学中已知的诸如并集,相交或求差的运算。
## Python
设置文字
## Python
集合字面值
从 Python 2.6 开始,可以使用
文字
符号创建集合。 我们使用大括号在 Python 中定义一个集合,并且元素之间用逗号分隔。
从 Python 2.6 开始,可以使用
字面值
符号创建集合。 我们使用大括号在 Python 中定义一个集合,并且元素之间用逗号分隔。
`python_set_literal.py`
...
...
@@ -24,7 +24,7 @@ print(nums)
```
该示例创建带有
文字
符号的 Python 集。
该示例创建带有
字面值
符号的 Python 集。
```
nums = { 1, 2, 2, 2, 3, 4 }
...
...
@@ -42,7 +42,7 @@ $ ./python_set_literal.py
这是输出。
## Python
设置
函数
## Python
集合
函数
Python
`set()`
函数创建一个新集合,其元素来自可迭代对象。 可迭代对象是我们可以迭代的对象; 例如字符串或列表。
...
...
@@ -69,7 +69,7 @@ $ ./python_set_fun.py
这是输出。
## Python 集成员性测试
## Python 集
合
成员性测试
`in`
和
`not in`
运算符测试集合中元素的存在。
...
...
@@ -107,7 +107,7 @@ tree is not present in the set
这是输出。
## Python
设置
内置函数
## Python
集合
内置函数
有几个内置 Python 函数,例如
`len()`
或
`min()`
,可以在 Python 集上使用。
...
...
@@ -182,7 +182,7 @@ Sorted elements:
这是输出。
## Python
设置
迭代
## Python
集合
迭代
可以使用 for 循环来迭代 Python 集。
...
...
@@ -213,7 +213,7 @@ bottle
这是输出。
## Python 集添加
## Python 集
合
添加
Python set
`add()`
方法将新元素添加到集合中。
...
...
@@ -240,7 +240,7 @@ $ ./python_set_add.py
这是输出。
## Python
设置
更新
## Python
集合
更新
Python set
`update()`
方法将一个或多个可迭代对象添加到集合中。
...
...
@@ -275,7 +275,7 @@ $ ./python_set_update.py
这是输出。
## Python
设置
删除
## Python
集合
删除
Python 有两种删除元素的基本方法:
`remove()`
和
`discard()`
。
`remove()`
方法从集合中删除指定的元素,如果元素不在集合中,则提高
`KeyError`
。
`discard()`
方法从集合中删除元素,如果要删除的元素不在集合中,则不执行任何操作。
...
...
@@ -323,7 +323,7 @@ $ ./python_set_remove.py
这是输出。
## Python
设置
弹出&清除
## Python
集合
弹出&清除
`pop()`
方法从集合中移除并返回任意元素。
`clear()`
方法从集合中删除所有元素。
...
...
@@ -358,9 +358,9 @@ set()
这是输出。
## Python
设置操作
## Python
集合运算
使用 Python 集,我们可以执行特定的
操作
:并集,交集,差和对称差。
使用 Python 集,我们可以执行特定的
运算
:并集,交集,差和对称差。
`python_set_operations.py`
...
...
docs/py/51.md
浏览文件 @
2efcfbce
# Python
地图
# Python
映射
> 原文: [http://zetcode.com/python/map/](http://zetcode.com/python/map/)
Python 映射教程介绍了 Python 内置的
`map()`
函数。
## Python
map()
函数
## Python
`map()`
函数
Python
`map()`
内置函数将给定函数应用于可迭代的每一项,并返回一个迭代器对象。
...
...
@@ -15,7 +15,7 @@ map(function, iterable, ...)
可以将多个迭代传递给
`map()`
函数。 该函数必须采用与可迭代项一样多的参数。
## Python
地图范
例
## Python
映射示
例
以下示例在整数列表上使用 Python
`map()`
。
...
...
@@ -84,7 +84,7 @@ $ ./python_map.py
这是输出。
## 等效的 Python
地图
## 等效的 Python
映射
以下示例显示了与 Python 3
`map()`
函数等效的自定义。
...
...
@@ -180,7 +180,7 @@ $ ./python_map_iterables.py
这是输出。
## Python 映射多个
功能
## Python 映射多个
函数
在下一个示例中,我们显示如何在 Python
`map()`
中使用多个函数。
...
...
docs/py/52.md
浏览文件 @
2efcfbce
...
...
@@ -18,7 +18,7 @@ CSV(逗号分隔值)是在电子表格和数据库中使用的非常流行
| 方法 | 描述 |
| --- | --- |
| CSV
阅读器 | 返回一个遍历 CSV 文件各行的阅读
器对象 |
| CSV
读取器 | 返回一个遍历 CSV 文件各行的读取
器对象 |
| csv 作家 | 返回将数据写入 CSV 文件的 writer 对象 |
| csv.register_dialect | 注册 CSV 方言 |
| csv.unregister_dialect | 注销 CSV 方言 |
...
...
@@ -26,7 +26,7 @@ CSV(逗号分隔值)是在电子表格和数据库中使用的非常流行
| csv.list_dialects | 返回所有已注册的方言 |
| csv.field_size_limit | 返回解析器允许的当前最大字段大小 |
## 使用 Python
csv
模块
## 使用 Python
`csv`
模块
```
import csv
...
...
@@ -35,7 +35,7 @@ import csv
要使用 Python CSV 模块,我们导入
`csv`
。
## Python CSV
阅读
器
## Python CSV
读取
器
`csv.reader()`
方法返回一个读取器对象,该对象遍历给定 CSV 文件中的行。
...
...
@@ -99,7 +99,7 @@ $ ./read_csv.py
这是示例的输出。
## 具有不同分隔符的 Python CSV
阅读
器
## 具有不同分隔符的 Python CSV
读取
器
`csv.reader()`
方法允许使用带有
`delimiter`
属性的不同定界符。
...
...
@@ -147,9 +147,9 @@ tablet
这是示例的输出。
## Python CSV
DictReader
## Python CSV
`DictReader`
`csv.DictReader`
类的操作类似于常规
阅读
器,但会将读取的信息映射到字典中。 字典的键可以使用
`fieldnames`
参数传入,也可以从 CSV 文件的第一行推断出来。
`csv.DictReader`
类的操作类似于常规
读取
器,但会将读取的信息映射到字典中。 字典的键可以使用
`fieldnames`
参数传入,也可以从 CSV 文件的第一行推断出来。
```
$ cat values.csv
...
...
@@ -246,7 +246,7 @@ with f:
该代码示例使用
`writerows()`
方法将三行数字写入文件。
## Python CSV
DictWriter
## Python CSV
`DictWriter`
`csv.DictWriter`
类的操作类似于常规编写器,但将 Python 词典映射到 CSV 行。
`fieldnames`
参数是一系列键,这些键标识传递给
`writerow()`
方法的字典中的值写入 CSV 文件的顺序。
...
...
docs/py/53.md
浏览文件 @
2efcfbce
...
...
@@ -6,13 +6,13 @@ Python 正则表达式教程展示了如何在 Python 中使用正则表达式
正则表达式用于文本搜索和更高级的文本操作。 正则表达式是内置工具,如 grep,sed,文本编辑器(如 vi,emacs),编程语言(如 Tcl,Perl 和 Python)。
## Python
重新
模块
## Python
`re`
模块
在 Python 中,
`re`
模块提供了正则表达式匹配操作。
模式是一个正则表达式,用于定义我们正在搜索或操纵的文本。 它由文本文字和元字符组成。 用
`compile()`
功能
编译该模式。 由于正则表达式通常包含特殊字符,因此建议使用原始字符串。 (原始字符串以 r 字符开头。)这样,在将字符编译为模式之前,不会对这些字符进行解释。
模式是一个正则表达式,用于定义我们正在搜索或操纵的文本。 它由文本文字和元字符组成。 用
`compile()`
函数
编译该模式。 由于正则表达式通常包含特殊字符,因此建议使用原始字符串。 (原始字符串以 r 字符开头。)这样,在将字符编译为模式之前,不会对这些字符进行解释。
编译模式后,可以使用其中一个
功能将模式应用于文本字符串。 功能
包括
`match()`
,
`search()`
,
`find()`
和
`finditer()`
。
编译模式后,可以使用其中一个
函数将模式应用于文本字符串。 函数
包括
`match()`
,
`search()`
,
`find()`
和
`finditer()`
。
下表显示了一些正则表达式:
...
...
@@ -31,7 +31,7 @@ Python 正则表达式教程展示了如何在 Python 中使用正则表达式
|
`\s`
| 匹配空白字符。 |
|
`\w`
| 匹配单词字符; 等同于
`[a-zA-Z_0-9]`
|
## 匹配
功能
## 匹配
函数
以下是一个代码示例,演示了 Python 中简单正则表达式的用法。
...
...
@@ -60,7 +60,7 @@ pattern = re.compile(r'book')
```
使用
`compile()`
功能
,我们可以创建图案。 正则表达式是一个原始字符串,由四个普通字符组成。
使用
`compile()`
函数
,我们可以创建图案。 正则表达式是一个原始字符串,由四个普通字符组成。
```
for word in words:
...
...
@@ -82,7 +82,7 @@ The bookstore matches
元组中的四个单词与模式匹配。 请注意,以“ book”一词开头的单词不匹配。 为了包括这些词,我们使用
`search()`
函数。
## 搜索
功能
## 搜索
函数
`search()`
函数查找正则表达式模式产生匹配项的第一个位置。
...
...
@@ -148,7 +148,7 @@ pattern = re.compile(r'.even')
```
点代表文本中的任何单个字符。
角色
必须存在。
点代表文本中的任何单个字符。
字符
必须存在。
```
$ ./dot_meta.py
...
...
@@ -196,7 +196,7 @@ The event matches
## 锚点
锚点匹配给定文本内字符的位置。 当使用
^
锚时,匹配必须发生在字符串的开头,而当使用$锚时,匹配必须发生在字符串的结尾。
锚点匹配给定文本内字符的位置。 当使用
`^`
锚时,匹配必须发生在字符串的开头,而当使用$锚时,匹配必须发生在字符串的结尾。
`anchors.py`
...
...
@@ -219,7 +219,7 @@ for sentence in sentences:
在示例中,我们有三个句子。 搜索模式为
`^Jane`
。 该模式检查“ Jane”字符串是否位于文本的开头。
`Jane\.`
将在句子结尾处查找“ Jane”。
##
完全符合
##
`fullmatch`
可以使用
`fullmatch()`
函数或通过将术语放在锚点之间来进行精确匹配:^和$。
...
...
@@ -251,7 +251,7 @@ The book matches
这是输出。
##
角色
类
##
字符
类
字符类定义了一组字符,任何字符都可以出现在输入字符串中以使匹配成功。
...
...
@@ -281,7 +281,7 @@ pattern = re.compile(r'gr[ea]y')
`[ea]`
类允许在模式中使用'e'或'a'字符。
## 命名
角色
类
## 命名
字符
类
有一些预定义的字符类。
`\s`
与空白字符
`[\t\n\t\f\v]`
匹配,
`\d`
与数字
`[0-9]`
匹配,
`\w`
与单词字符
`[a-zA-Z0-9_]`
匹配。
...
...
@@ -363,7 +363,7 @@ Doggy matches
## 交替
交替运算符
|
创建具有多种选择的正则表达式。
交替运算符
`|`
创建具有多种选择的正则表达式。
`alternations.py`
...
...
docs/py/54.md
浏览文件 @
2efcfbce
...
...
@@ -27,7 +27,7 @@ import json
下表显示了如何在 Python 和 JSON 之间转换数据类型。
|
蟒蛇
| JSON 格式 |
|
Python
| JSON 格式 |
| --- | --- |
| 字典,命名元组 | 宾语 |
| 列表,元组 | 数组 |
...
...
@@ -37,7 +37,7 @@ import json
| 假 | 假 |
| 没有 | 空值 |
##
json.dump()
##
`json.dump()`
`json.dump()`
方法将 Python 对象作为 JSON 格式的流序列化到文件对象。
...
...
@@ -66,7 +66,7 @@ $ cat friends.json
执行脚本后,我们得到了这些数据。
##
json.dumps()
##
`json.dumps()`
`json.dumps()`
方法将 Python 对象序列化为 JSON 字符串。
...
...
@@ -94,7 +94,7 @@ $ ./simplejson_dumps.py
这是示例的输出。
##
json.load()
##
`json.load()`
`json.load()`
方法将包含 JSON 文档的文件对象反序列化为 Python 对象。
...
...
@@ -140,7 +140,7 @@ Splash screen: false
这是输出。
##
json.loads()
##
`json.loads()`
`json.loads()`
方法将 JSON 字符串反序列化为 Python 对象。
...
...
@@ -236,7 +236,7 @@ Date: 06-01-2017
这是输出。
## 漂亮
的印刷
## 漂亮
地打印
使用 simplejson,我们可以轻松漂亮地打印数据。
...
...
docs/py/55.md
浏览文件 @
2efcfbce
...
...
@@ -4,11 +4,11 @@
SymPy 教程展示了如何使用 sympy 模块在 Python 中进行符号计算。 这是对 SymPy 的简要介绍。
<
def
>
计算机代数系统(CAS)
<
/def
>
是一种数学软件,能够以类似于数学家和科学家的传统手动计算方式来处理数学表达式。
计算机代数系统(CAS)
是一种数学软件,能够以类似于数学家和科学家的传统手动计算方式来处理数学表达式。
符号计算象征性地处理数学对象的计算。 数学对象是准确而非近似地表示的,具有未
评估
变量的数学表达式以符号形式保留。
符号计算象征性地处理数学对象的计算。 数学对象是准确而非近似地表示的,具有未
求值
变量的数学表达式以符号形式保留。
##
象征
##
SymPy
SymPy 是用于符号数学的 Python 库。 它旨在成为功能齐全的计算机代数系统。 SymPy 包括从基本符号算术到微积分,代数,离散数学和量子物理学的功能。 它可以在 LaTeX 中显示结果。
...
...
@@ -19,7 +19,7 @@ $ pip install sympy
SymPy 是使用
`pip install sympy`
命令安装的。
##
有理价值观
##
`Rational`值
SymPy 具有用于处理有理数的
`Rational`
。 有理数是可以表示为两个整数(分子 p 和非零分母 q)的商或分数 p / q 的任何数字。
...
...
@@ -50,7 +50,7 @@ print(val.evalf())
```
该表达形式为符号形式。 我们使用
`evalf()`
方法对其进行
评估
。
该表达形式为符号形式。 我们使用
`evalf()`
方法对其进行
求值
。
```
$ rational_values.py
...
...
@@ -61,7 +61,7 @@ $ rational_values.py
注意,当不使用有理数时,输出中会有一个小错误。
## SymPy
pprint
## SymPy
`pprint`
`pprint()`
用于在控制台上漂亮地打印输出。 LaTeX 可以达到最佳效果,例如 在 Jupyter 笔记本中。
...
...
@@ -154,7 +154,7 @@ equals to
## SymPy 符号
符号计算适用于符号,以后可以对其进行
评估
。 使用符号之前,必须在 SymPy 中定义符号。
符号计算适用于符号,以后可以对其进行
求值
。 使用符号之前,必须在 SymPy 中定义符号。
`def_sym.py`
...
...
@@ -207,7 +207,7 @@ i, j = symbols('i j')
## SymPy 规范表达形式
SymPy 会自动将表达式转换为规范形式。 SymPy 仅执行廉价操作; 因此,表达式可能无法
评估
为最简单的形式。
SymPy 会自动将表达式转换为规范形式。 SymPy 仅执行廉价操作; 因此,表达式可能无法
求值
为最简单的形式。
`canonical_form.py`
...
...
@@ -308,7 +308,7 @@ tan(x)
这是输出。
## SymPy 比较表达
## SymPy 比较表达
式
SymPy 表达式与
`equals()`
而不是
`==`
运算符进行比较。
...
...
@@ -349,9 +349,9 @@ False
这是输出。
## SymPy
评估表达
## SymPy
求值表达式
可以通过替换符号来
评估
表达式。
可以通过替换符号来
求值
表达式。
`evaluating.py`
...
...
@@ -364,7 +364,7 @@ print(pi.evalf(30))
```
该示例将 pi 值
评估
为 30 个位。
该示例将 pi 值
求值
为 30 个位。
```
$ evaluating.py
...
...
@@ -388,7 +388,7 @@ print(expr.subs([(a, 3), (b, 2)]))
```
本示例通过用数字替换
`a`
和
`b`
符号来
评估
表达式。
本示例通过用数字替换
`a`
和
`b`
符号来
求值
表达式。
```
$ evaluating.py
...
...
@@ -527,7 +527,7 @@ SeqFormula(x, (x, 1, 10))
这是输出。
## SymPy
限制
## SymPy
极限
极限是函数(或序列)“接近”作为输入(或索引)“接近”某个值的值。
...
...
docs/py/56.md
浏览文件 @
2efcfbce
#
熊猫
教程
#
Pandas
教程
> 原文: [http://zetcode.com/python/pandas/](http://zetcode.com/python/pandas/)
这是熊猫的入门教程。 本教程展示了如何使用 Pandas 库在 Python 中进行基本数据分析。 代码示例和数据可在作者的 Github
[
存储库
](
https://github.com/janbodnar/Python-Course/tree/master/datascience/pandas
)
中获得。
##
大熊猫
##
Pandas
Pandas 是 BSD 许可的开放源代码库,为 Python 编程语言提供了高性能,易于使用的数据结构和数据分析工具。
...
...
@@ -14,7 +14,7 @@ Pandas 是 BSD 许可的开放源代码库,为 Python 编程语言提供了高
`DataFrame`
是带有标记轴(行和列)的二维大小可变的,可能是异构的表格数据结构。 它是一个类似于电子表格的数据结构。
`Series`
是
`DataFrame`
的单个列。
`DataFrame`
可以看作是
`Series`
对象的字典。
## 安装
熊猫
## 安装
Pandas
使用以下命令安装 Pandas:
...
...
@@ -32,7 +32,7 @@ $ pip3 install numpy
一些示例还使用
`numpy`
。
##
熊猫
简单的例子
##
Pandas
简单的例子
以下是一个简单的 Pandas 示例。
...
...
@@ -84,7 +84,7 @@ $ python simple.py
这是输出。 第一列是行索引。
##
熊猫变化指数
##
Pandas 改变索引
我们可以更新索引,使其不从 0 开始。
...
...
@@ -116,7 +116,7 @@ $ python change_index.py
这是输出。
##
熊猫标量系
列
##
Pandas 标量序
列
以下示例创建一系列标量值。
...
...
@@ -146,7 +146,7 @@ dtype: int64
左列是索引。
##
熊猫系
列 ndarray
##
Pandas 序
列 ndarray
我们可以从 numpy
`ndarray`
创建一个系列对象。
...
...
@@ -179,7 +179,7 @@ dtype: object
这是输出。
##
熊猫系
列字典
##
Pandas 序
列字典
可以从 Python 字典创建系列。
...
...
@@ -211,7 +211,7 @@ dtype: int64
索引由项目名称组成。
##
熊猫系
列检索
##
Pandas 序
列检索
以下示例从一系列对象中检索值。
...
...
@@ -275,7 +275,7 @@ dtype: int64
这是输出。
##
熊猫定制指数
##
Pandas 自定义索引
索引列不必是数字。 我们可以创建自己的自定义索引。
...
...
@@ -323,7 +323,7 @@ SA South Africa Pretoria 1.221 52.98
这是输出。
##
熊猫索引,列&的
值
##
Pandas 索引、列和
值
熊猫
`DataFrame`
具有三个基本部分:索引,列和值。
...
...
@@ -357,7 +357,7 @@ Values: [['Alex' 10]
这是输出。
##
熊猫
的总和和最大值
##
Pandas
的总和和最大值
下面的示例计算数据帧列中值的总和和最大值。 它还使用
`numpy`
库。
...
...
@@ -379,7 +379,7 @@ print(max(df['A']))
```
该示例计算最大值和值之和。 它使用
`numpy's`
`arange()`
功能
生成值数组。
该示例计算最大值和值之和。 它使用
`numpy's`
`arange()`
函数
生成值数组。
```
print(sum(df['A']))
...
...
@@ -397,7 +397,7 @@ $ sum_max.py
这是输出。
##
熊猫
读 CSV
##
Pandas
读 CSV
Pandas 使用
`read_csv()`
从 CSV 文件读取数据。
...
...
@@ -472,7 +472,7 @@ Pos Country Amount (Bn. $) GDP
这是输出。
##
熊猫
写 CSV
##
Pandas
写 CSV
用
`to_csv()`
将
`DataFrame`
写入 CSV 文件。
...
...
@@ -492,7 +492,7 @@ df.to_csv("users.csv", index=False)
该示例将数据写入
`users.csv`
文件。
##
熊猫
随机行
##
Pandas
随机行
可以使用
`sample()`
选择数据帧中的随机行。
...
...
@@ -511,7 +511,7 @@ print(df.sample(3))
在该示例中,我们从数据框中打印了三个随机行。
##
熊猫
数据定位
##
Pandas
数据定位
`to_dict()`
将数据框转换为 Python 字典。 字典可以显示在不同的数据输出中。
...
...
@@ -557,7 +557,7 @@ print(df.to_dict(orient='index'))
该示例以六种不同格式将数据帧打印到控制台。
##
熊猫
描述
##
Pandas
描述
`describe()`
方法生成描述性统计数据,该数据统计总结了
`NaN`
值之外的数据集分布的集中趋势,离散度和形状。
...
...
@@ -596,7 +596,7 @@ max 8.00000 61.000000
这是输出。
##
熊猫
计数
##
Pandas
计数
下一个示例对值进行计数。 您可以在 Github 存储库中找到
`employees.csv`
文件。
...
...
@@ -637,7 +637,7 @@ Number of columns: 8
请注意,这些列具有不同数量的值,因为缺少某些值。
##
熊猫头尾
##
Pandas `head()`和`tail()`
使用
`head()`
和
`tail()`
方法,我们可以显示数据帧的前 n 行和后 n 行。
...
...
@@ -678,7 +678,7 @@ Pos Country Amount (Bn. $) GDP
这是输出。
##
熊猫
没有标题和索引
##
Pandas
没有标题和索引
当我们显示数据框时,我们可以隐藏标题和索引。
...
...
@@ -708,7 +708,7 @@ $ python no_header.py
这是输出。 (值 1 到 4 来自 pos 列。)
##
熊猫地方
##
Pandas `loc()`
`loc()`
方法允许按标签或布尔数组访问一组行和列。
...
...
@@ -731,7 +731,7 @@ print(df.loc[['A', 'B'], ['Items']])
```
该示例使用
`loc()`
功能
。
该示例使用
`loc()`
函数
。
```
print(df.loc['A'])
...
...
@@ -808,9 +808,9 @@ print(data.head(5))
该示例从
`employees.csv`
文件中打印出符合条件的前五行:薪水在 10000 至 50000 之间。
##
大熊猫
##
Pandas `iloc`
`iloc`
功能
允许基于整数位置的索引,以按位置进行选择。
`iloc`
函数
允许基于整数位置的索引,以按位置进行选择。
`select_iloc.py`
...
...
@@ -842,7 +842,7 @@ print('--------------------------------------')
该示例显示了如何使用
`iloc()`
选择行和列的各种组合。
##
熊猫
排序
##
Pandas
排序
`sort_values()`
按升序或降序对系列进行排序。
...
...
docs/py/58.md
浏览文件 @
2efcfbce
#
枕头
教程
#
Pillow
教程
> 原文: [http://zetcode.com/python/pillow/](http://zetcode.com/python/pillow/)
枕头教程展示了如何在 Python 中使用枕头
来处理图像。 来源可从作者的 Github
[
存储库
](
https://github.com/janbodnar/pillow-examples
)
中获得。
Pillow 教程展示了如何在 Python 中使用 Pillow
来处理图像。 来源可从作者的 Github
[
存储库
](
https://github.com/janbodnar/pillow-examples
)
中获得。
##
枕头
##
Pillow
枕头是 Python 影
像库(PIL),它增加了对打开,操作和保存图像的支持。 当前版本标识并读取大量格式。 有意将写支持限制为最常用的交换和表示格式。
Pillow 是 Python 图
像库(PIL),它增加了对打开,操作和保存图像的支持。 当前版本标识并读取大量格式。 有意将写支持限制为最常用的交换和表示格式。
## 显示图片
...
...
@@ -45,7 +45,7 @@ tatras = Image.open("tatras.jpg")
```
`Image.open()`
方法读取图像文件。
枕头
可以读取 30 多种不同的文件格式。
`Image.open()`
方法读取图像文件。
Pillow
可以读取 30 多种不同的文件格式。
```
tatras.show()
...
...
@@ -54,9 +54,9 @@ tatras.show()
`show()`
方法主要用于调试目的。 它将图像保存到一个临时文件中并在外部程序中显示。 在 Linux 上可以是 ImageMagic,在 Windows 上可以是 Paint。
##
枕头
的基本图像信息
##
Pillow
的基本图像信息
枕头
使我们可以获得有关图像的一些基本信息。
Pillow
使我们可以获得有关图像的一些基本信息。
`basic_info.py`
...
...
@@ -98,7 +98,7 @@ Mode: RGB
这是程序的输出。
##
影
像模糊
##
图
像模糊
`ImageFilter`
模块包含一组预定义的过滤器的定义,可以与
`filter()`
方法一起使用。
...
...
@@ -146,7 +146,7 @@ blurred.save("blurred.png")
使用
`save()`
方法,我们将模糊的图像保存在磁盘上。
## 用
枕头
转换图像
## 用
Pillow
转换图像
使用
`save()`
方法,我们可以将图像转换为其他格式。
...
...
@@ -211,7 +211,7 @@ grayscale = tatras.convert('L')
`convert()`
方法的第一个参数是 mode; “ L”模式是黑白的。
## 用
枕头
裁剪图像
## 用
Pillow
裁剪图像
`Image.crop()`
裁剪图像。
...
...
@@ -244,7 +244,7 @@ cropped = tatras.crop((100, 100, 350, 350))
`crop()`
方法采用 4 个元组来定义左,上,右和下像素坐标。
## 用
枕头
旋转图像
## 用
Pillow
旋转图像
`Image.rotate()`
返回图像的旋转副本。
...
...
@@ -431,9 +431,9 @@ img.save('sid.jpg', 'jpeg')
图像被保存。
##
绘制到枕头
图像
##
Pillow 绘制
图像
枕头
具有一些基本的 2D 图形功能。
`ImageDraw`
模块为
`Image`
对象提供简单的 2D 图形。 我们可以创建新图像,注释或修饰现有图像,以及即时生成图形以供 Web 使用。
Pillow
具有一些基本的 2D 图形功能。
`ImageDraw`
模块为
`Image`
对象提供简单的 2D 图形。 我们可以创建新图像,注释或修饰现有图像,以及即时生成图形以供 Web 使用。
`draw2image.py`
...
...
@@ -474,7 +474,7 @@ idraw.rectangle((10, 10, 100, 100), fill='blue')
使用
`rectangle()`
方法,我们在图像上绘制了一个蓝色矩形。
## 用
枕头
创建水印
## 用
Pillow
创建水印
以下示例创建一个水印。
...
...
docs/py/59.md
浏览文件 @
2efcfbce
...
...
@@ -4,17 +4,17 @@
Python FTP 编程教程展示了如何使用
`ftplib`
库在 Python 中使用 FTP。 我们将连接到 FTP 服务器,列出目录,下载和上传文件。
##
的
FTP
## FTP
文件传输协议(FTP)是用于在计算机网络上的客户端和服务器之间传输计算机文件的标准网络协议。 客户端和服务器使用一组 FTP 命令进行通信,例如 DELE,RETR 或 CWD。
许多服务器为 FTP 服务提供匿名 FTP 访问。 例如,有些 Linux 托管站点提供了一个匿名 FTP 帐户来下载分发映像。
## Python
ftplib
## Python
`ftplib`
Python
`ftplib`
是实现 FTP 协议客户端的模块。 它包含一个 FTP 客户端类和一些帮助程序功能。
## Python
FTP
类
## Python
`FTP`
类
`ftplib.FTP()`
创建 FTP 类的新实例。 给定主机后,将使用
`connect()`
方法建立与主机的连接。
...
...
@@ -41,7 +41,7 @@ with closing(ftplib.FTP('ftp.zetcode.com')) as ftp:
对于 Python 2 代码,我们需要使用
`contextlib`
模块的
`closing`
方法。
## 欢迎
留言
## 欢迎
消息
`getwelcome()`
返回服务器为响应初始连接而发送的欢迎消息。 该消息可能包含一些对用户有用的信息。
...
...
@@ -420,7 +420,7 @@ if not res.startswith('226 Transfer complete'):
如果下载失败,我们会打印一条错误消息并删除本地文件。
## 上
载文字档
## 上
传文本文件
具有
`storlines()`
方法的
`STOR`
命令用于上传文本文件。
...
...
docs/py/61.md
浏览文件 @
2efcfbce
...
...
@@ -21,7 +21,7 @@ $ sudo pip3 install arrow
## UTC 时间
实际需要一个全球时间。 全球时间可以避免时区和夏令时的混淆。 UTC(世界标准时间)是主要时间标准。 UTC 用于航空,天气预报,飞行计划,空中交通管制通关和
地图
。 与当地时间不同,UTC 不会随季节变化而变化。
实际需要一个全球时间。 全球时间可以避免时区和夏令时的混淆。 UTC(世界标准时间)是主要时间标准。 UTC 用于航空,天气预报,飞行计划,空中交通管制通关和
映射
。 与当地时间不同,UTC 不会随季节变化而变化。
`utc_time.py`
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录