python基础之面向对象编程

这篇博客总结了Python中的面向对象编程基础知识,包括编程思维的转变、类与对象的概念、内置类属性、魔法方法及其在运算符重载中的应用、继承机制,以及内存管理和拷贝原理。通过实例讲解了类的属性和方法分类,强调了对象的增删改查操作,并探讨了Python中如何利用魔法方法实现运算符的自定义行为。
摘要由CSDN通过智能技术生成

记录学习的点点滴滴-150天从python小白到大神的转变(day17-19)

​ 本周结束也就意味着python基础课的结束。python基础课大致分为以下几个板块:数据类型,函数,python中的模块,包,文件操作,异常处理,正则表达式,以及面向对象编程。本节对面向对象编程的一些基础知识进行总结。

​ python是一门面向对象的编程语言。在这个版块中,主要内容包括编程思维的分类,类和对象,内置类属性的介绍,魔法方法的介绍(运算符的重载),继承,以及内存管理和拷贝原理。

  • 编程思维的分类

    ​ 学习了接近一个月的python,思维依然停留在面向过程编程。希望在学完这门课程之后,能成功的转变成函数式编程。最好的状态是面向对象编程。面向对象编程,需要从实际出发考虑问题,同时需要扎实的基础功。

  • 类(class)

    ​ 类是具有相同功能和属性的对象的集合。类是抽象的,比如人类,汽车类,狗类。一个完整的 类内容中应该包括属性和方法。

    定义类的语法:

    class 类名:

    ​ 类的说明

    ​ 类的内容

    类的内容

    类的内容包含属性和方法。属性是变量,用来保存数据的。类中的方法,本质是函数,用于实现类的功能。

    类中属性的分类:

    类中的属性可以分为类属性和对象属性。

    类属性: 如果属性值不会随着对象的改变而改变,就可以把这个属性设置成类属性。比如人这个类中的人口数量,小汽车类中的轮胎个数。

    如何定义 如何调用
    定义在类的里面,函数的外面 类名.属性名

    对象属性:如果属性值会随着对象的改变而改变,就可以把这个属性设置成对象属性。比如人的姓名,年龄。对象属性在调用之前,需要先创建一个对象

    如何定义 如何调用
    以 self.属性值 = 值 的形式定义在__init__方法中 对象名.属性

    类中方法的分类:

    在类中的方法有三类,一是对象方法,也是用得最多的方法。二是类方法,三是静态方法。

    方法名以及如何定义 如何使用 特点
    对象方法
    (直接定义在类中)
    对象名.方法名 自带self参数,调用的时候可以不赋值,指向当前对象,谁调用就指向谁
    类方法
    (在定义之前添加名为@classmethod的装饰器)
    类名.方法名 自带cls参数,调用的时候可以不赋值,指向当前类。
    静态方法
    (在定义之前添加名为@staticmethod的装饰器)
    类名.方法名 定义在类中的普通函数,可以有参数,也可以没有参数

    在类中,如何选择最合适的方法:

  1. 当在实现类的具体功能时,如果需要用到对象属性,就需要选择对象方法。
  2. 当在实现类的具体功能时,如果不需要用到对象属性但是需要用到类属性,就需要选择类方法。
  3. 当在实现类的具体功能时,如果既不需要对象属性,也不需要类属性,就可以选择静态方法。
    # 两种属性和三种方法
    
    class SmallCar:
        cheer_num = 4   # 类属性
    
        def __init__(self, brand, color, price):
            self.brand = brand
            self.color = color         # 对象属性
            self.price = price
    
        def __repr__(self):   # 定制打印方式
            result = str(f'对象属性:'+' '+f'品牌:{self.brand}'+' '
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值