面向对象

面向对象的三大特征:

1.对封装的理解

封装,类本身就是一个封装,封装了属性和方法。方法也是封装,对一些业务逻辑的封装。私有也是封装,将一些方法和属性私有化,对外提供可访问的接口。

2.对继承的理解

将共性的内容放在父类中,子类只需要关注自己特有的内容,共性的继承过来就行了,这样简化开发,符合逻辑习惯,利于扩展。

3.多态的理解

多态,一个对象在不同的情况下显示不同的形态。在python中因为是弱类型语言,对类型没有限定,所有python中不完全支持多态,但是多态的思想在python中也是能体现的。

面向过程:根据业务逻辑从上到下垒代码

函数式:将某功能代码封装到函数中,无需重复编写整个功能代码段,调用即可使用

面向对象:对函数进行封装,更快速地开发程序,减少重复代码的重写过程

1)类的名称:类名 class Cat():pass  #命名时使用大驼峰

2)类的属性:一组数据

3)类的方法:允许对进行操作的方法

__init__方法,成功创建完类的实例对象后自动调用,可以初始化属性

__str__方法,当打印类的实例对象时,会打印出方法里return后面的返回值

__del__方法,1)当类的引用数为0时,调用__del__方法

                        2)当类的引用数不为0时,程序代码全部执行结束时,调用__del__方法

__slots__方法,限定实例对象动态绑定的属性和方法的命名,不限定类的,不限定初始的属性和方法名,只限定当前类,继承类不限定

类的私有属性、私有方法,不能在类之外调用,只能在类内部调用,而且不会被子类继承。

类的继承

创建一个类的时候可以继承一个或多个父类,继承之后,子类可以直接调用父类定义过的方法和属性,子类也可以重写父类的方法,用子类实例对象调用此方法时,代码执行的是子类内重写的类方法。

在子类内部调用父类的方法时,需要传递参数self,否则会报错。父类名.方法名(self)

若不想传递参数,可以用super().方法名() 去调用父类的方法

布尔函数,isinstance( )

class A:
    def test():
        print("---A")
class B(A):
    def test():
        print("---B")
if isinstance(B,A): # 判断B是不是A的子类
    print("B是A的子类")


class C(A,B):
    pass

obj = C()
obj.test()


#输出结果是:---A

__mro__可以查看调用方法的顺序

print(c.__mro__)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值