Python基础:面向对象编程

1. 面向对象与面向过程

面向过程:
根据业务逻辑从上到下写代码强调的是每一步都得亲自完成。
面向对象:
将数据和函数一起封装,减少重复代码,绝对相信一个人,很多操作我让他代替我执行。

2. 三大特性

封装,继承,多态

3. 定义

class object:
    """ The most base type """

4. 方法

1. __init__(self):

    def __init__(self): # known special case of object.__init__
        """ Initialize self.  See help(type(self)) for accurate signature. """
        pass

2. __new__(cls, *more):

    def __new__(cls, *more): # known special case of object.__new__
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

3. __str__(self, *args, **kwargs):

    def __str__(self, *args, **kwargs): # real signature unknown
        """ Return str(self). """
        pass

返回字符串。
注:

  1. self指向每一个创建出来的实例对象,相当于形参。
  2. 初始化的是通过类创建的对象
  3. 每个类里面必须要有一个init。
  4. new创建并返回一个新对象,该方法在init之前调用。
  5. __…__表示魔法方法,在有些时候会自动调用

5. 举例

class Dog(object):  # 命名规则:大驼峰
    def __init__(self, name):
        self.name = name

dog1 = Dog('小白')
dog1.lag = 4  #动态增加实例属性(临时属性)。
print(dog1)

1. 通过类创建实例

实例 = 类名()

注:如果有init需要传参,那么()填写init的参数。

2. 调用实例的属性

1. 在类的内部

在方法中调用的实例属性,self.属性名调用,因为self指向的就是实例。

2. 在类的外部

  1. 创建实例
dog = Dog()
  1. 调用属性
dog.name

注:在类的外部,通过创建对象来调用实例属性。

3. 通过实例调用方法

1. 在类的外部

注:

  1. 通过实例调用。
  2. 如果方法需要传参,在方法的()里面直接写入实参。

2. 在类的内部

通过self.方法名()调用。

4. 动态增加临时属性并获取

注:

  1. 实例属性与临时属性的区别:
    实例属性只要通过当前类创建的实例对象都具有。
    临时属性,是一个案例具有的,其他实例对象可有可无。
  2. 在写web的时候,可能会为了方便起见而添加。

5. __init__()、__new__()方法

  1. new方法创建并返回新对象。
  2. init方法完成实例的初始化。
  3. new方法先调用。

6. __str__()魔法方法

return 字符串

7. 实例属性的更改

  1. 在类的外部:dog.leg = 5
  2. 在类的内部

8. 继承

  1. 继承关系中,子类继承父类的方法与属性,
    即:子类可以使用父类的属性和方法。
  2. 如果子类的方法与父类是同名的,使用子类自己的属性。
  3. 如果子类已经的init方法,没有特殊操作不能直接调用父类的属性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值