Skip to content

Commit

Permalink
修改了部分文档
Browse files Browse the repository at this point in the history
  • Loading branch information
jackfrued committed May 15, 2020
1 parent d2b3141 commit d4ed9c7
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 15 deletions.
10 changes: 0 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,4 @@
151.101.184.133 camo.githubusercontent.com
```

<center>图1. 公开课信息</center>

![](res/open-course.png)

<center>图2. 扫码加入公开课</center>

![](res/qrcode.png)

<center>图3. 学习交流群信息</center>

![](res/qrcode-group.png)
2 changes: 0 additions & 2 deletions 第016课:面向对象编程入门.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,6 @@ print(students) # [骆昊: 40, 王小锤: 16, 王大锤: 25]
```




### 面向对象的支柱

面向对象编程有三大支柱,就是我们之前给大家划重点的时候圈出的三个词:封装、继承和多态。后面两个概念在下一节课中会详细说明,这里我们先说一下什么是封装。我自己对封装的理解是:**隐藏一切可以隐藏的实现细节,只向外界暴露简单的调用接口**。我们在类中定义的对象方法其实就是一种封装,这种封装可以让我们在创建对象之后,只需要给对象发送一个消息就可以执行方法中的代码,也就是说我们在只知道方法的名字和参数(方法的外部视图),不知道方法内部实现细节(方法的内部视图)的情况下就完成了对方法的使用。
Expand Down
6 changes: 3 additions & 3 deletions 第020课:函数使用进阶.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ print(calc(1, 2, c=3, d=4)) # 10
如果我们希望上面的`calc`函数不仅仅可以做多个参数求和,还可以做多个参数求乘积甚至更多的二元运算,我们就可以使用高阶函数的方式来改写上面的代码,将加法运算从函数中移除掉,具体的做法如下所示。

```Python
def calc(*, init_value, op, *args, **kwargs):
def calc(*args, init_value, op, **kwargs):
result = init_value
for arg in args:
result = op(result, arg)
Expand All @@ -99,8 +99,8 @@ def mul(x, y):
return x * y


print(calc(init_value=0, op=add, 1, 2, 3, x=4, y=5)) # 15
print(calc(init_value=1, op=mul, 1, 2, x=3, y=4, z=5)) # 120
print(calc(1, 2, 3, init_value=0, op=add, x=4, y=5)) # 15
print(calc(1, 2, x=3, y=4, z=5, init_value=1, op=mul)) # 120
```

通过对高阶函数的运用,`calc`函数不再和加法运算耦合,所以灵活性和通用性会变强,这是编程中一种常用的技巧,但是最初学者来说可能会稍微有点难以理解。需要注意的是,将函数作为参数和调用函数是有显著的区别的,**调用函数需要在函数名后面跟上圆括号,而把函数作为参数时只需要函数名即可**。上面的代码也可以不用定义`add``mul`函数,因为Python标准库中的`operator`模块提供了代表加法运算的`add`和代表乘法运算的`mul`函数,我们直接使用即可,代码如下所示。
Expand Down

0 comments on commit d4ed9c7

Please sign in to comment.