Skip to content

Commit 1b69364

Browse files
committed
两点水
1 parent fdbf518 commit 1b69364

File tree

24 files changed

+53
-54
lines changed

24 files changed

+53
-54
lines changed

SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
- [使用 `type()` 动态创建类](/python12/2.md)
6868
- [什么是元类](/python12/3.md)
6969
- [自定义元类](/python12/4.md)
70-
- [使用元类](/python12/4.md)
70+
- [使用元类](/python12/5.md)
7171
* [线程与进程](/python13/Preface.md)
7272
- [线程与进程](/python13/1.md)
7373
- [多线程编程](/python13/2.md)

python10/1.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ if __name__ == '__main__':
2222

2323
输出的结果:
2424

25-
![Python 类的魔术方法](https://user-gold-cdn.xitu.io/2017/8/7/b8baa846d8b0f968b14e1e485afb239d)
25+
![Python 类的魔术方法](http://p1ceh5usj.bkt.clouddn.com/Python%20%E7%B1%BB%E7%9A%84%E9%AD%94%E6%9C%AF%E6%96%B9%E6%B3%95.png)
2626

2727
可以看到,一个类的魔术方法还是挺多的,截图也没有截全,不过我们只需要了解一些常见和常用的魔术方法就好了。

python10/2.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ user=User('两点水',23)
1616

1717
实际上,创建一个类的过程是分为两步的,一步是创建类的对象,还有一步就是对类进行初始化。`__new__` 是用来创建类并返回这个类的实例, 而`__init__` 只是将传入的参数来初始化该实例.`__new__` 在创建一个实例的过程中必定会被调用,但 `__init__` 就不一定,比如通过pickle.load 的方式反序列化一个实例时就不会调用 `__init__` 方法。
1818

19-
![Python类创建的过程](https://user-gold-cdn.xitu.io/2017/8/3/dd588107e7e243bfbe11dc517fdb5308)
19+
![Python类创建的过程](http://upload-images.jianshu.io/upload_images/2136918-a2b39b078cc81841?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2020

2121
`def __new__(cls)` 是在 `def __init__(self)` 方法之前调用的,作用是返回一个实例对象。还有一点需要注意的是:`__new__` 方法总是需要返回该类的一个实例,而 `__init__` 不能返回除了 `None` 的任何值
2222

@@ -56,4 +56,4 @@ if __name__ == '__main__':
5656

5757
其实在实际开发中,很少会用到 `__new__` 方法,除非你希望能够控制类的创建。通常讲到 `__new__` ,都是牵扯到 `metaclass`(元类)的。
5858

59-
当然当一个对象的生命周期结束的时候,析构函数 `__del__` 方法会被调用。但是这个方法是 Python 自己对对象进行垃圾回收的。
59+
当然当一个对象的生命周期结束的时候,析构函数 `__del__` 方法会被调用。但是这个方法是 Python 自己对对象进行垃圾回收的。

python10/6.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,22 +68,22 @@ if __name__ == '__main__':
6868

6969
```txt
7070
__eq__
71-
num1 == num2 ? --------> False
71+
num1 == num2 ? --------> False
7272
7373
__eq__
74-
num1 != num2 ? --------> False
74+
num1 != num2 ? --------> False
7575
7676
__lt__
77-
num1 < num2 ? --------> True
77+
num1 < num2 ? --------> True
7878
7979
__gt__
80-
num1 > num2 ? --------> False
80+
num1 > num2 ? --------> False
8181
8282
__le__
83-
num1 <= num2 ? --------> True
83+
num1 <= num2 ? --------> True
8484
8585
__ge__
86-
num1 >= num2 ? --------> False
86+
num1 >= num2 ? --------> False
8787
8888
```
8989

@@ -109,4 +109,4 @@ num1 >= num2 ? --------> False
109109

110110
最后,如果对本文感兴趣的,可以关注下公众号:
111111

112-
![公众号](https://user-gold-cdn.xitu.io/2017/7/31/dc2347facde1d4b004faef7de0042b2a)
112+
![公众号](http://twowater.com.cn/images/20171204192251900.gif)

python10/Preface.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44

55
# 目录 #
66

7-
![草根学Python(十) Python 的 Magic Method](https://user-gold-cdn.xitu.io/2017/8/17/de0e1491506e81159ff4c6bdece91c73)
7+
![草根学Python(十) Python 的 Magic Method](http://p1ceh5usj.bkt.clouddn.com/%E8%8D%89%E6%A0%B9%E5%AD%A6Python%EF%BC%88%E5%8D%81%EF%BC%89%20Python%20%E7%9A%84%20Magic%20Method.png)

python11/1.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,6 @@ print('\n', Month.Jan)
3737
输出的结果如下:
3838

3939

40-
![Python3 枚举类型的使用](https://user-gold-cdn.xitu.io/2017/8/20/68bc0c10a2f7026fdcb4b0e7230d5db6)
40+
![Python3 枚举类型的使用](http://p1ceh5usj.bkt.clouddn.com/Python3%20%E6%9E%9A%E4%B8%BE%E7%B1%BB%E5%9E%8B%E7%9A%84%E4%BD%BF%E7%94%A8.png)
4141

42-
可见,我们可以直接使用 `Enum` 来定义一个枚举类。上面的代码,我们创建了一个有关月份的枚举类型 Month ,这里要注意的是构造参数,第一个参数 Month 表示的是该枚举类的类名,第二个 tuple 参数,表示的是枚举类的值;当然,枚举类通过 `__members__` 遍历它的所有成员的方法。注意的一点是 , `member.value` 是自动赋给成员的 `int`类型的常量,默认是从 1 开始的。而且 Enum 的成员均为单例(Singleton),并且不可实例化,不可更改
42+
可见,我们可以直接使用 `Enum` 来定义一个枚举类。上面的代码,我们创建了一个有关月份的枚举类型 Month ,这里要注意的是构造参数,第一个参数 Month 表示的是该枚举类的类名,第二个 tuple 参数,表示的是枚举类的值;当然,枚举类通过 `__members__` 遍历它的所有成员的方法。注意的一点是 , `member.value` 是自动赋给成员的 `int`类型的常量,默认是从 1 开始的。而且 Enum 的成员均为单例(Singleton),并且不可实例化,不可更改

python11/3.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ if __name__ == '__main__':
3838

3939
输出的结果如下:
4040

41-
![Python3 自定义类型的枚举类](https://user-gold-cdn.xitu.io/2017/8/20/a59e989e702ccddfa5539b16fdcffa02)
41+
![Python3 自定义类型的枚举类](http://p1ceh5usj.bkt.clouddn.com/Python3%20%E8%87%AA%E5%AE%9A%E4%B9%89%E7%B1%BB%E5%9E%8B%E7%9A%84%E6%9E%9A%E4%B8%BE%E7%B1%BB.png)
4242

4343

4444

45-
通过上面的例子,可以知道枚举模块定义了具有迭代 (interator) 和比较(comparison) 功能的枚举类型。 它可以用来为值创建明确定义的符号,而不是使用具体的整数或字符串。
45+
通过上面的例子,可以知道枚举模块定义了具有迭代 (interator) 和比较(comparison) 功能的枚举类型。 它可以用来为值创建明确定义的符号,而不是使用具体的整数或字符串。

python11/Preface.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66

77
# 目录 #
88

9-
![草根学Python(十一) 枚举类](https://user-gold-cdn.xitu.io/2017/8/28/e403eb0edf80f951450edfef8e306a2f)
9+
![草根学Python(十一) 枚举类](http://p1ceh5usj.bkt.clouddn.com/%E8%8D%89%E6%A0%B9%E5%AD%A6Python%EF%BC%88%E5%8D%81%E4%B8%80%EF%BC%89%20%E6%9E%9A%E4%B8%BE%E7%B1%BB.png)

python12/5.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ Python 中的一切都是对象,它们要么是类的实例,要么是元类
3030

3131
最后如果对本文有兴趣,可以关注公众号:
3232

33-
![公众号](https://user-gold-cdn.xitu.io/2017/7/31/dc2347facde1d4b004faef7de0042b2a)
33+
![公众号](http://twowater.com.cn/images/20171204192251900.gif)

python12/Preface.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44

55
# 目录 #
66

7-
![草根学Python(十二)元类](https://user-gold-cdn.xitu.io/2017/9/7/375f11ec2c4b80ad661187bc63ed8913)
7+
![草根学Python(十二)元类](http://p1ceh5usj.bkt.clouddn.com/%E8%8D%89%E6%A0%B9%E5%AD%A6Python%EF%BC%88%E5%8D%81%E4%BA%8C%EF%BC%89%20%E5%85%83%E7%B1%BB.png)

0 commit comments

Comments
 (0)