• python ⾯向对象


    1. 定义类

    class 类名:

            def ⽅法名(self):

                    pass

            self是形参

            Python 解释器在执⾏代码时, ⾃动将调⽤这个⽅法的对象传递给self, 即 self 的本质是对象

            只需要确定通过哪个对象调⽤, 对象的引⽤和 self 的引⽤是⼀样的

            self 是函数中的局部变量, 直接创建的对象是全局变量

    2. 创建对象

            变量 = 类名()

    3. 调⽤⽅法

            对象.⽅法名()

    1. #1.定义类
    2. class Preson:
    3. def drink(self):
    4. print("drink water....")
    5. def eat(self):
    6. print("eat food....")
    7. #2.创建对象
    8. lili=Preson()
    9. mike=Preson()
    10. #3.通过对象创建方法
    11. lili.eat()
    12. mike.drink()

    对象的属性操作

    添加属性 :对象.属性名 = 属性值

    类内部添加

            在内部⽅法中, self 是对象,

            self.属性名 = 属性值         # 在类中添加属性⼀般写在 __init__ ⽅法中

    类外部添加

            对象.属性名 = 属性值

    获取属性 :对象.属性名

    类内部

            self.属性名

    类外部

            对象.属性名

    1. #1.定义类
    2. class Person:
    3. def drink(self):
    4. # 在内部获取属性
    5. print(f'{self.name}drink water....')
    6. def eat(self):
    7. #在内部添加属性
    8. print("eat food....")
    9. #2.创建对象
    10. lili=Person()
    11. mike=Person()
    12. # 在类外部添加name属性
    13. lili.name='莉莉'
    14. mike.name = '迈克'
    15. #3.通过对象创建方法
    16. lili.drink()
    17. mike.drink()

    _init__ ⽅法

    创建对象之后会⾃动调⽤

    _init__ ⽅法给对象添加属性, (初始化⽅法, 构造⽅法) 

    某些代码, 在每次创建对象之后, 都要执⾏,就可以将这⾏代码写在 __init__ ⽅法 

    init ⽅法中,存在出了 self 之外的参数, 在创建对象的时候必须传参

    1. # 1.定义类
    2. class Person:
    3. # 定义添加属性的方法
    4. def __init__(self,name,age):
    5. # 给对象添加属性
    6. self.name = name
    7. self.age = age
    8. # 定义输出属性信息
    9. def show_info(self):
    10. print(f'名字是: {self.name}, 年龄是:{self.age}')
    11. # 2.创建对象
    12. lili=Person('莉莉',18)
    13. mike=Person('迈克',20)
    14. # 3.通过对象创建方法
    15. lili.show_info()
    16. mike.show_info()

    __str__ ⽅法

    使⽤ print(对象) 打印对象的时候 会⾃动调⽤

     在这个⽅法中⼀般书写对象的 属性信息的, 即打印对象 的时候想要查看什么信息,在这个⽅法中进⾏定义的

     如果类中没有定义 __str__ ⽅法, print(对象) ,默认输出对象的引⽤地址

    这个⽅法必须返回 ⼀个字符串

    1. # 1.定义类
    2. class Person:
    3. # 定义添加属性的方法
    4. def __init__(self,name,age):
  • 相关阅读:
    接口测试使用Python装饰器
    elasticsearch高亮之highlight原理
    数学建模----插值的实现
    RocketMQ源码环境搭建
    springboot自习室管理系统 小程序毕业设计源码221535
    设计原则学习
    php利用ZipArchive类实现文件压缩与解压
    Redis为什么变慢了
    第一章:认识Qt 之 1.2 Qt发展历史
    【自考必看】《信息资源管理基础》信息资源管理基础,第1章,速通指南
  • 原文地址:https://blog.csdn.net/weixin_43730921/article/details/127135151