09-15-周一_15-00-30

This commit is contained in:
2025-09-15 15:00:31 +08:00
parent 257e88d79f
commit 24e2133f7f

View File

@@ -43,7 +43,7 @@ class Dog(Aniaml):
pass
```
继承的点也是显而易见的:
继承的点也是显而易见的:
1. 增加了类的耦合性(耦合性不宜多,宜精)。
@@ -55,7 +55,7 @@ class Dog(Aniaml):
上面的那个例子:
- Aminal 叫做父类,基类,超类。
- Aminal 叫做父类, 基类, 超类。
- Person Cat Dog: 子类,派生类。
继承:可以分**单继承,多继承**。
@@ -64,8 +64,8 @@ class Dog(Aniaml):
在python2x版本中存在两种类.
- ⼀个叫**经典类**. 在python2.2之前. ⼀直使⽤的是经典类. 经典类在基类的根如果什么都不写.
- ⼀个叫**新式类**. 在python2.2之后出现了新式类. 新式类的特点是基类的根是object类
- ⼀个叫**经典类**. 在python2.2之前. **不显式继承 `object`类**,是 Python2 的默认类定义方式。
- ⼀个叫**新式类**. 在python2.2之后出现了新式类 **显式继承 `object`类**(如 `class MyClass(object)`),是 Python2 引入的改进类模型
python3x版本中只有一种类
python3中使⽤的都是**新式类**. 如果基类谁都不继承. 那这个类会默认继承 object
@@ -137,10 +137,10 @@ p1.eat()
### 同时执行类以及父类方法
方法一如果想执行父类的func方法这个方法并且子类中用,那么就在子类的方法中写上:父类.func(对象,其他参数)
方法一如果想执行父类的func方法这个方法并且子类中用,那么就在子类的方法中写上:父类.func(对象,其他参数)
```python
class Aniaml(object):
class Aniaml(object):
type_name = '动物类'
def __init__(self,name,sex,age):
self.name = name
@@ -150,7 +150,7 @@ class Aniaml(object):
def eat(self):
print('吃东西')
class Person(Aniaml):
class Person(Aniaml):
def __init__(self,name,sex,age,mind):
Aniaml.__init__(self,name,sex,age)
self.mind = mind
@@ -158,14 +158,14 @@ class Person(Aniaml):
def eat(self):
Aniaml.eat(111)
print('%s 吃饭'%self.name)
class Cat(Aniaml):
class Cat(Aniaml):
pass
class Dog(Aniaml):
class Dog(Aniaml):
pass
p1 = Person('张三','男',18,'想吃东西')
p1.eat()
p1 = Person('张三','男',18,'想吃东西')
p1.eat()
```
方法二利用supersuper().func(参数)
@@ -417,6 +417,4 @@ merge操作示例
= [A,B,D,C,E,F] + merge([O], [O])
= [A,B,D,C,E,F,O]
那既然python提供了. 为什么我们还要如此⿇烦的计算MRO呢? 因为笔
试.......你在笔试的时候, 是没有电脑的. 所以这个算法要知道. 并且简单的计算要会. 正式项⽬
开发的时候很少有⼈这么去写代码.
那既然python提供了. 为什么我们还要如此⿇烦的计算MRO呢? 因为笔试.......你在笔试的时候, 是没有电脑的. 所以这个算法要知道. 并且简单的计算要会. 正式项⽬开发的时候很少有⼈这么去写代码.