Python学习第六天:类和对象及继承

目录

1. 类和对象

2. 实例属性和类属性的区别

3. 方法

3.1 方法 vS 函数:

3.2 方法的调用

3.3 实例方法 vs 类方法 vs 静态方法

3.3.1 实例方法,对象方法

3.3.2 类方法

3.3.3  静态方法

4. __init__

5. self

6. 继承

6.1 继承的表示

6.2 多重继承

7. 重写

8. super()

9. 类属性的动态设置


1. 类和对象

类:具备相同特征或者行为的一个群体:
对象: 个体

类:模型 (造对象)
对象: 模型生出来(造出来)具体的东西。

2. 实例属性和类属性的区别

类属性定义:类名下面或者类外面, 可以在其他的方法当中定义,但是不建议
class 类名:
    类属性1 = 属性值

    def __init__(self, name):
        self.name = name

类名.类属性other = 属性值。

实例属性: 类里面和类外面  __init__ 方法定义,或者  类名().实例属性

先天具备的属性,不管是类属性,实例属性,通常在类名下面, __init__ 直接定义好。

后天培养的属性,不管是类还是实例,都可以在 其他的方法当中定义, 类外面定义

实例属性和类属性的区别和联系:
类属性,可以被实例、对象访问 ;实例属性, 不可以被类获取

实例可以获取 实例属性和类属性 ;类只能获取类属性

3. 方法

3.1 方法 vS 函数:

1, self

2, 放在类里面,缩进的。

3, 调用过程不一样。 方法需要加前缀,类名或者对象名。 函数前面要么不加,要么加的模块名。

3.2 方法的调用

对象.方法() ,即:类名().方法()

3.3 实例方法 vs 类方法 vs 静态方法

3.3.1 实例方法,对象方法

1, 第一个参数名称,规定是 self,

2, 实例方法在调用的时候,前缀是对象,不能是类

3.3.2 类方法

1, 在方法的上面添加 @classmethod

2, 把实例方法当中的 self 改成 cls

3.3.3  静态方法

静态方法表示: 方法的上面加上一个 @staticmethod 不需要用 self, cls 作为固定参数

静态方法的调用

(静态方法是普通函数) 与普通函数的区别在于,在调用静态方法时,前面加上类名或者对象名;类外面的普通函数,在被调用时不需要加类,模块

(联系: 实例方法, 实例具备的,类不一定具备。 类不能调用实例方法 self 获取实例 类方法, 类具备的, 实例可以获取 类方法可以直接通过 cls 获取类 静态方法:放在类里面的函数。 def static_demo 类(对象).static_demo)

4. __init__

 初始化:通过定义的类得到一个具体的对象,通过 __init__ 实现
通常在里面定义实例属性。

实例属性的两种定义:
第1种, 类外面:  对象名.属性
第2种, 类里面:  self.属性

实例属性的值通过参数传递进来。
__init__ 定义的形式参数 和 对象的实例化 a = 类名() 的实际参数,是一一对应的。 
1. 必须 return None 2. 传入的参数必须要设置成实例属性,才能被被对象访问到。

self: 在 **类里面** ,表示一个 **对象**  
cls, : 在 **类里面** ,表示一个 **类**  

5. self

类定义的里面表示:对象

cls, 类里面表示:类

6. 继承

6.1 继承的表示

class  子类名(父类名):

           pass

继承, 继承时单边的,即只能子类继承父类

6.2 多重继承

class 子类名(父类1,父类2,父类3):

          pass

7. 重写

子类可以实现自己独有的方法。子类可以覆盖父类的方法,即 重写

8. super()

super() 超继承:使用父类中的方法

9. 类属性的动态设置

class Fruits:

    def __init__(self, name):
        self.name= name

fruits= Fruits('橙子')

# 对象.属性
print(fruits.name)

# 动态获取属性
print(getattr(fruits, 'name'))

# 设置 set 属性。
setattr(fruits, 'name', '西瓜')
print(fruits.name)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Semih93

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值