Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
programiz-zh
提交
720aaefc
P
programiz-zh
项目概览
OpenDocCN
/
programiz-zh
8 个月 前同步成功
通知
0
Star
48
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
programiz-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
720aaefc
编写于
7月 11, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-07-11 11:53:15
上级
aefb999a
变更
17
隐藏空白更改
内联
并排
Showing
17 changed file
with
41 addition
and
41 deletion
+41
-41
docs/py/11.md
docs/py/11.md
+3
-3
docs/py/14.md
docs/py/14.md
+1
-1
docs/py/19.md
docs/py/19.md
+3
-3
docs/py/22.md
docs/py/22.md
+2
-2
docs/py/25.md
docs/py/25.md
+2
-2
docs/py/28.md
docs/py/28.md
+3
-3
docs/py/41.md
docs/py/41.md
+1
-1
docs/py/42.md
docs/py/42.md
+3
-3
docs/py/45.md
docs/py/45.md
+6
-6
docs/py/48.md
docs/py/48.md
+1
-1
docs/py/49.md
docs/py/49.md
+1
-1
docs/py/50.md
docs/py/50.md
+7
-7
docs/py/52.md
docs/py/52.md
+1
-1
docs/py/61.md
docs/py/61.md
+4
-4
docs/py/62.md
docs/py/62.md
+1
-1
docs/py/74.md
docs/py/74.md
+1
-1
docs/py/9.md
docs/py/9.md
+1
-1
未找到文件。
docs/py/11.md
浏览文件 @
720aaefc
...
...
@@ -95,7 +95,7 @@ a()
Hello
```
`a`
可以使用相同的名称,我们可以使用该名称来调用该
功能
。
`a`
可以使用相同的名称,我们可以使用该名称来调用该
函数
。
* * *
...
...
@@ -111,11 +111,11 @@ Hello
当我们启动 Python 解释器时,将创建一个包含所有内置名称的名称空间,并且只要该解释器运行,该名称空间就会存在。
这就是为什么内置
`id()`
,
`print()`
等
功能
始终可以从程序的任何部分使用的原因。 每个
[
模块
](
https://www.programiz.com/python-programming/modules
)
创建其自己的全局名称空间。
这就是为什么内置
`id()`
,
`print()`
等
函数
始终可以从程序的任何部分使用的原因。 每个
[
模块
](
https://www.programiz.com/python-programming/modules
)
创建其自己的全局名称空间。
这些不同的名称空间是隔离的。 因此,不同模块中可能存在的相同名称不会冲突。
模块可以具有各种
功能
和类。 调用函数时会创建一个本地名称空间,该名称空间中定义了所有名称。 与类相似。 下图可能有助于阐明这一概念。
模块可以具有各种
函数
和类。 调用函数时会创建一个本地名称空间,该名称空间中定义了所有名称。 与类相似。 下图可能有助于阐明这一概念。
![
Nested Namespaces in Python Programming
](
img/ff842860b03567ecdbc3206f0d184539.png
"Different Nested Namespaces"
)
...
...
docs/py/14.md
浏览文件 @
720aaefc
...
...
@@ -63,7 +63,7 @@ The sum is 48
此函数不会将所有值存储在内存中; 这将是低效的。 因此它会记住开始,停止,步长并在旅途中生成下一个数字。
要强制此
功能
输出所有项目,我们可以使用函数
`list()`
。
要强制此
函数
输出所有项目,我们可以使用函数
`list()`
。
以下示例将阐明这一点。
...
...
docs/py/19.md
浏览文件 @
720aaefc
...
...
@@ -8,7 +8,7 @@
在 Python 中,函数是一组执行特定任务的相关语句。
函数有助于将我们的程序分解为较小的模块化块。 随着我们的计划变得越来越大,
功能
使其变得更有组织性和可管理性。
函数有助于将我们的程序分解为较小的模块化块。 随着我们的计划变得越来越大,
函数
使其变得更有组织性和可管理性。
此外,它避免了重复并使代码可重复使用。
...
...
@@ -20,10 +20,10 @@ def function_name(parameters):
statement
(
s
)
```
上面显示的是由以下组件组成的
功能
定义。
上面显示的是由以下组件组成的
函数
定义。
1.
关键字
`def`
,用于标记函数头的开始。
2.
用于唯一标识
功能的功能
名称。 函数命名遵循相同的
[
规则,即在 Python
](
/python-programming/keywords-identifier#rules
)
中编写标识符。
2.
用于唯一标识
函数的函数
名称。 函数命名遵循相同的
[
规则,即在 Python
](
/python-programming/keywords-identifier#rules
)
中编写标识符。
3.
通过其将值传递给函数的参数(参数)。 它们是可选的。
4.
冒号(
`:`
)标记函数头的结尾。
5.
可选的文档字符串(docstring),用于描述函数的功能。
...
...
docs/py/22.md
浏览文件 @
720aaefc
...
...
@@ -8,7 +8,7 @@
在 Python 中,匿名函数是
[
函数
](
/python-programming/function
)
,其定义时没有名称。
使用 Python 中的
`def`
关键字定义普通
功能时,使用
`lambda`
关键字定义匿名功能
。
使用 Python 中的
`def`
关键字定义普通
函数时,使用
`lambda`
关键字定义匿名函数
。
因此,匿名函数也称为 lambda 函数。
...
...
@@ -47,7 +47,7 @@ print(double(5))
在上述程序中,
`lambda x: x * 2`
是 lambda 函数。 这里
`x`
是自变量,
`x * 2`
是要求值并返回的表达式。
此
功能没有名称。 它返回分配给标识符
`double`
的功能
对象。 现在我们可以将其称为常规函数。 该声明
此
函数没有名称。 它返回分配给标识符
`double`
的函数
对象。 现在我们可以将其称为常规函数。 该声明
```
py
double
=
lambda
x
:
x
*
2
...
...
docs/py/25.md
浏览文件 @
720aaefc
...
...
@@ -41,9 +41,9 @@ def add(a, b):
>>>
import
example
```
这不会直接在当前符号表中导入在
`example`
中定义的
功能
的名称。 它仅在此处导入模块名称
`example`
。
这不会直接在当前符号表中导入在
`example`
中定义的
函数
的名称。 它仅在此处导入模块名称
`example`
。
使用模块名称,我们可以使用点
`.`
运算符访问该
功能
。 例如:
使用模块名称,我们可以使用点
`.`
运算符访问该
函数
。 例如:
```
py
>>>
example
.
add
(
4
,
5.5
)
...
...
docs/py/28.md
浏览文件 @
720aaefc
...
...
@@ -86,7 +86,7 @@ print(0o15)
我们可以在上面看到 1(整数)被强制转换为 1.0(浮点数)以进行加法,结果也是一个浮点数。
我们还可以使用
`int()`
,
`float()`
和
`complex()`
之类的内置函数在类型之间进行显式转换。 这些
功能
甚至可以从
[
字符串
](
/python-programming/string
)
转换。
我们还可以使用
`int()`
,
`float()`
和
`complex()`
之类的内置函数在类型之间进行显式转换。 这些
函数
甚至可以从
[
字符串
](
/python-programming/string
)
转换。
```
py
>>>
int
(
2.3
)
...
...
@@ -284,7 +284,7 @@ print(math.factorial(6))
720
```
这是
[
Python 数学模块
](
/python-programming/modules/math
)
中可用的
功能
和属性的完整列表。
这是
[
Python 数学模块
](
/python-programming/modules/math
)
中可用的
函数
和属性的完整列表。
```
py
import
random
...
...
@@ -315,4 +315,4 @@ e
0.5682821194654443
```
这是
[
Python `random`模块
](
/python-programming/modules/random
)
中可用的功能和属性的完整列表。
\ No newline at end of file
这是
[
Python `random`模块
](
/python-programming/modules/random
)
中可用的函数和属性的完整列表。
\ No newline at end of file
docs/py/41.md
浏览文件 @
720aaefc
...
...
@@ -245,7 +245,7 @@ Selling Price: 1000
我们使用
`__init__()`
方法存储
`Computer`
的最高售价。 我们试图修改价格。 但是,我们无法更改它,因为 Python 将
`__maxprice`
视为私有属性。
如图所示,要更改该值,我们必须使用设置器
功能,即
`setMaxPrice()`
,该功能
将价格作为参数。
如图所示,要更改该值,我们必须使用设置器
函数,即
`setMaxPrice()`
,该函数
将价格作为参数。
* * *
...
...
docs/py/42.md
浏览文件 @
720aaefc
...
...
@@ -76,7 +76,7 @@ This is a person class
这将创建一个名为
`harry`
的新对象实例。 我们可以使用对象名称前缀访问对象的属性。
属性可以是数据或方法。 对象的方法是该类的相应
功能
。
属性可以是数据或方法。 对象的方法是该类的相应
函数
。
这意味着,由于
`Person.greet`
是函数对象(类的属性),因此
`Person.greet`
将是方法对象。
...
...
@@ -128,7 +128,7 @@ Hello
一个特别有趣的是
`__init__()`
函数。 每当实例化该类的新对象时,都会调用此特殊函数。
这种类型的
功能
在面向对象编程(OOP)中也称为构造器。 我们通常使用它来初始化所有变量。
这种类型的
函数
在面向对象编程(OOP)中也称为构造器。 我们通常使用它来初始化所有变量。
```
py
class
ComplexNumber
:
...
...
@@ -170,7 +170,7 @@ Traceback (most recent call last):
AttributeError
:
'ComplexNumber'
object
has
no
attribute
'attr'
```
在上面的示例中,我们定义了一个新类来表示复数。 它具有两个
功能
,
`__init__()`
初始化变量(默认为零),
`get_data()`
正确显示数字。
在上面的示例中,我们定义了一个新类来表示复数。 它具有两个
函数
,
`__init__()`
初始化变量(默认为零),
`get_data()`
正确显示数字。
在上面的步骤中要注意的一件有趣的事情是,可以动态创建对象的属性。 我们为对象
`num2`
创建了一个新属性
`attr`
,并且也读取了该属性。 但这不会为对象
`num1`
创建该属性。
...
...
docs/py/45.md
浏览文件 @
720aaefc
...
...
@@ -34,7 +34,7 @@ TypeError: unsupported operand type(s) for +: 'Point' and 'Point'
在这里,我们可以看到出现了
`TypeError`
,因为 Python 不知道如何将两个
`Point`
对象加在一起。
但是,我们可以通过运算符重载在 Python 中完成此任务。 但是首先,让我们对特殊
功能
有所了解。
但是,我们可以通过运算符重载在 Python 中完成此任务。 但是首先,让我们对特殊
函数
有所了解。
* * *
...
...
@@ -44,9 +44,9 @@ TypeError: unsupported operand type(s) for +: 'Point' and 'Point'
这些函数不是我们为类定义的典型函数。 我们上面定义的
`__init__()`
函数就是其中之一。 每次我们创建该类的新对象时都会调用它。
Python 中还有许多其他特殊
功能。 访问
[
Python 特殊功能
](
http://docs.python.org/3/reference/datamodel.html#special-method-names
)
了解有关它们的更多信息。
Python 中还有许多其他特殊
函数。 访问
[
Python 特殊函数
](
http://docs.python.org/3/reference/datamodel.html#special-method-names
)
了解有关它们的更多信息。
使用特殊
功能
,我们可以使我们的类与内置函数兼容。
使用特殊
函数
,我们可以使我们的类与内置函数兼容。
```
py
>>>
p1
=
Point
(
2
,
3
)
...
...
@@ -97,7 +97,7 @@ print(p1)
'(2,3)'
```
因此,当您使用
`str(p1)`
或
`format(p1)`
时,Python 内部会调用
`p1.__str__()`
方法。 因此得名,特殊
功能
。
因此,当您使用
`str(p1)`
或
`format(p1)`
时,Python 内部会调用
`p1.__str__()`
方法。 因此得名,特殊
函数
。
现在让我们回到操作符重载。
...
...
@@ -152,7 +152,7 @@ print(p1+p2)
实际发生的是,当您使用
`p1 + p2`
时,Python 会调用
`p1.__add__(p2)`
,而后者依次为
`Point.__add__(p1,p2)`
。 此后,将按照我们指定的方式执行加法运算。
同样,我们也可以重载其他运算符。 我们需要实现的特殊
功能
列表如下。
同样,我们也可以重载其他运算符。 我们需要实现的特殊
函数
列表如下。
| 运算符 | 表达式 | 内部 |
| --- | --- | --- |
...
...
@@ -213,7 +213,7 @@ False
False
```
类似地,下面列出了我们需要实现以重载其他比较运算符的特殊
功能
。
类似地,下面列出了我们需要实现以重载其他比较运算符的特殊
函数
。
| 运算符 | 表达式 | 内部 |
| --- | --- | --- |
...
...
docs/py/48.md
浏览文件 @
720aaefc
...
...
@@ -136,7 +136,7 @@ This is printed at last
上面的例子用处不大,我们研究它只是为了了解背景中发生的事情。
通常,生成器
功能
通过具有合适终止条件的循环来实现。
通常,生成器
函数
通过具有合适终止条件的循环来实现。
让我们以反转字符串的生成器为例。
...
...
docs/py/49.md
浏览文件 @
720aaefc
...
...
@@ -85,7 +85,7 @@ Traceback (most recent call last):
NameError
:
name
'print_msg'
is
not
defined
```
在这里,即使删除原始
功能,返回的功能
仍然可以使用。
在这里,即使删除原始
函数,返回的函数
仍然可以使用。
* * *
...
...
docs/py/50.md
浏览文件 @
720aaefc
...
...
@@ -6,7 +6,7 @@
## Python 中的装饰器
Python 有一个有趣的
功能
,称为
**装饰器**
,可为现有代码添加功能。
Python 有一个有趣的
函数
,称为
**装饰器**
,可为现有代码添加功能。
这也称为
**元编程**
,因为程序的一部分试图在编译时修改程序的另一部分。
...
...
@@ -16,7 +16,7 @@ Python 有一个有趣的功能,称为**装饰器**,可为现有代码添加
为了了解装饰器,我们必须首先了解 Python 的一些基本知识。
我们必须对以下事实感到满意:Python 中的所有内容(是!甚至是类)都是
[
对象
](
/python-programming/class
)
。 我们定义的名称只是绑定到这些对象的标识符。
[
函数
](
/python-programming/function
)
也不例外,它们也是对象(带有属性)。 各种不同的名称可以绑定到同一
功能
对象。
我们必须对以下事实感到满意:Python 中的所有内容(是!甚至是类)都是
[
对象
](
/python-programming/class
)
。 我们定义的名称只是绑定到这些对象的标识符。
[
函数
](
/python-programming/function
)
也不例外,它们也是对象(带有属性)。 各种不同的名称可以绑定到同一
函数
对象。
这是一个例子。
...
...
@@ -37,15 +37,15 @@ Hello
Hello
```
当您运行代码时,两个函数
`first`
和
`second`
给出相同的输出。 在这里,名称
`first`
和
`second`
指的是同一
功能
对象。
当您运行代码时,两个函数
`first`
和
`second`
给出相同的输出。 在这里,名称
`first`
和
`second`
指的是同一
函数
对象。
现在事情开始变得怪异了。
可以将函数作为参数传递给另一个函数。
如果您在 Python 中使用过
`map`
,
`filter`
和
`reduce`
之类的
功能
,那么您已经知道这一点。
如果您在 Python 中使用过
`map`
,
`filter`
和
`reduce`
之类的
函数
,那么您已经知道这一点。
将其他函数作为参数的此类函数也称为
**高阶函数**
。 这是这种
功能
的一个例子。
将其他函数作为参数的此类函数也称为
**高阶函数**
。 这是这种
函数
的一个例子。
```
py
def
inc
(
x
):
...
...
@@ -173,7 +173,7 @@ def divide(a, b):
return
a
/
b
```
该
功能
具有两个参数,
`a`
和
`b`
。 我们知道,如果我们将
`b`
传递为 0,将会产生错误。
该
函数
具有两个参数,
`a`
和
`b`
。 我们知道,如果我们将
`b`
传递为 0,将会产生错误。
```
py
>>>
divide
(
2
,
5
)
...
...
@@ -234,7 +234,7 @@ def works_for_all(func):
可以在 Python 中链接多个装饰器。
这就是说,一个
功能可以用不同(或相同)的装饰器多次装饰。 我们只需将装饰器放置在所需功能
之上。
这就是说,一个
函数可以用不同(或相同)的装饰器多次装饰。 我们只需将装饰器放置在所需函数
之上。
```
py
def
star
(
func
):
...
...
docs/py/52.md
浏览文件 @
720aaefc
...
...
@@ -43,7 +43,7 @@ else:
* * *
`re`
模块中定义了其他一些
功能
,可与 RegEx 一起使用。 在探讨之前,让我们学习正则表达式本身。
`re`
模块中定义了其他一些
函数
,可与 RegEx 一起使用。 在探讨之前,让我们学习正则表达式本身。
如果您已经了解 RegEx 的基础知识,请跳至
[
Python RegEx
](
#python-regex
)
。
...
...
docs/py/61.md
浏览文件 @
720aaefc
...
...
@@ -2,9 +2,9 @@
> 原文: [https://www.programiz.com/python-programming/time](https://www.programiz.com/python-programming/time)
#### 在本文中,我们将详细探讨时间模块。 通过示例,我们将学习使用在时间模块中定义的与时间相关的不同
功能
。
#### 在本文中,我们将详细探讨时间模块。 通过示例,我们将学习使用在时间模块中定义的与时间相关的不同
函数
。
Python 有一个名为
`time`
的模块来处理与时间有关的任务。 要使用模块中定义的
功能
,我们需要首先导入模块。 这是如何做:
Python 有一个名为
`time`
的模块来处理与时间有关的任务。 要使用模块中定义的
函数
,我们需要首先导入模块。 这是如何做:
```
py
import
time
...
...
@@ -12,7 +12,7 @@ import time
* * *
这是常用的时间相关
功能
。
这是常用的时间相关
函数
。
### Python `time.time()`
...
...
@@ -71,7 +71,7 @@ print("This is printed after 2.4 seconds.")
## `time.struct_time`类别
`time`
模块中的某些
功能
,例如
`gmtime()`
,
`asctime()`
等,都可以将
`time.struct_time`
对象作为参数或将其返回。
`time`
模块中的某些
函数
,例如
`gmtime()`
,
`asctime()`
等,都可以将
`time.struct_time`
对象作为参数或将其返回。
这是
`time.struct_time`
对象的示例。
...
...
docs/py/62.md
浏览文件 @
720aaefc
...
...
@@ -4,7 +4,7 @@
#### `sleep()`函数在给定的秒数内挂起(等待)当前线程的执行。
Python 有一个名为
[
`time`
](
/python-programming/time
"Python time Module"
)
的模块,该模块提供了一些有用的
功能来处理与时间有关的任务。 其中最流行的功能
之一是
`sleep()`
。
Python 有一个名为
[
`time`
](
/python-programming/time
"Python time Module"
)
的模块,该模块提供了一些有用的
函数来处理与时间有关的任务。 其中最流行的函数
之一是
`sleep()`
。
`sleep()`
函数在给定的秒数内暂停当前线程的执行。
...
...
docs/py/74.md
浏览文件 @
720aaefc
...
...
@@ -11,7 +11,7 @@
* * *
要在 Python 中生成随机数,请使用
`randint()`
函数。 此
功能
在
[
`random`模块
](
https://docs.python.org/3.6/library/random.html
"Generate pseudo-random numbers"
)
中定义。
要在 Python 中生成随机数,请使用
`randint()`
函数。 此
函数
在
[
`random`模块
](
https://docs.python.org/3.6/library/random.html
"Generate pseudo-random numbers"
)
中定义。
* * *
...
...
docs/py/9.md
浏览文件 @
720aaefc
...
...
@@ -183,7 +183,7 @@ print(math.pi)
3.141592653589793
```
现在
`math`
模块内的所有定义在我们的范围内可用。 我们还可以仅使用
`from`
关键字导入一些特定的属性和
功能
。 例如:
现在
`math`
模块内的所有定义在我们的范围内可用。 我们还可以仅使用
`from`
关键字导入一些特定的属性和
函数
。 例如:
```
py
>>>
from
math
import
pi
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录