两点水
This commit is contained in:
@@ -52,7 +52,7 @@ t.prt()
|
||||
|
||||
观察输出的结果:
|
||||
|
||||

|
||||

|
||||
|
||||
从执行结果可以很明显的看出,self 代表的是类的实例,输出的是当前对象的地址,而 `self.__class__` 则指向类。
|
||||
|
||||
@@ -111,8 +111,7 @@ if __name__ == '__main__':
|
||||
print(type(new_class))
|
||||
print(dir(new_class))
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
|
||||
仔细观察输出的结果,对比一下,就能观察出来,注意喔,Pyhton3 中输出的结果是一模一样的,因为Python3 中没有新式类旧式类的问题。
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ class UserInfo(object):
|
||||
|
||||
为什么只能说一般情况下呢?因为实际上, Python 中是没有提供私有属性等功能的。但是 Python 对属性的访问控制是靠程序员自觉的。为什么这么说呢?看看下面的示例:
|
||||
|
||||

|
||||

|
||||
|
||||
仔细看图片,为什么说双下划线不是真正的私有属性呢?我们看下下面的例子,用下面的例子来验证:
|
||||
|
||||
@@ -61,4 +61,4 @@ if __name__ == '__main__':
|
||||
|
||||
输出的结果如下图:
|
||||
|
||||

|
||||

|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
|
||||
类的专有方法:
|
||||
|
||||
| 方法 | 说明 |
|
||||
| ------| ------ |
|
||||
| 方法 | 说明 |
|
||||
| ------| ------ |
|
||||
|`__init__` |构造函数,在生成对象时调用|
|
||||
|`__del__ `| 析构函数,释放对象时使用|
|
||||
|`__repr__ `| 打印,转换|
|
||||
@@ -103,4 +103,4 @@ if __name__ == '__main__':
|
||||
|
||||
运行的结果:
|
||||
|
||||

|
||||

|
||||
|
||||
@@ -112,7 +112,7 @@ if __name__ == '__main__':
|
||||
|
||||
最后打印的结果:
|
||||
|
||||

|
||||

|
||||
|
||||
这里就是重写了父类的构造函数。
|
||||
|
||||
@@ -167,4 +167,4 @@ True
|
||||
False
|
||||
```
|
||||
|
||||
可以看到 `isinstance()` 不仅可以告诉我们,一个对象是否是某种类型,也可以用于基本类型的判断。
|
||||
可以看到 `isinstance()` 不仅可以告诉我们,一个对象是否是某种类型,也可以用于基本类型的判断。
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
|
||||
# 目录 #
|
||||
|
||||

|
||||

|
||||
|
||||
Reference in New Issue
Block a user