• 一,面向对象基础


    今日内容


    1,面向对象的概念
    2,类和对象概念
    3,如何创建类和对象
    4,如何设计属性
    5,属性的查找顺序
    6,__init__,初始化类的方法
    7,绑定方法与非绑定方法

    1,面向对象的概念
    面向对象:是一种编程思想

    面向对象的三大优点
    1.扩张性
    2.灵活性
    3.复用性
    缺点:
    1.程序的复杂度提高了
    2.无法准确预知结果
    使用场景
    对扩展性要求较高的程序 ,通常是直接面向 用户的,例如:qq,微信

    2,类和对象概念
    对象:具体存在的某个事物,具备一定特征和行为
    是技能和特征的结合体
    类: 是一系列具备相同特征和行为的对象的集合,是一种抽象的概念

    类和对象的关系:
    类 包含一系列对象
    对象 属于某个类
    1,对象是关于类而实际存在的一个例子,即实例
    2,对象/实例只有一种作用:属性引用
    总结出一个结论:在使用面向对象编程时,第一步就是思考需要什么样的对象,
    对象具备什么样的特征和行为,从而根据 这些信息总结出需要的类型

    3,如何创建类和对象
    1,创建类
    class 类名:
    def __init__(self,参数1,参数2):
    self.对象的属性1 = 参数1
    self.对象的属性2 = 参数2

    def 方法名(self):pass

    def 方法名2(self):pass

    对象名 = 类名(1,2) #对象就是实例,代表一个具体的东西(创建对象)
    #类名() : 类名+括号就是实例化一个类,相当于调用了__init__方法
    #括号里传参数,参数不需要传self,其他与init中的形参一一对应
    #结果返回一个对象
    对象名.对象的属性1 #查看对象的属性,直接用 对象名.属性名 即可
    对象名.方法名() #调用类中的方法,直接用 对象名.方法名() 即可
    2,创建对象的语法:
    class Person:
    pass

    #创建对象
    p = Person()

    4,如何设计属性
    在面向对象中,把变量名称之为数据属性,把函数名称之为函数属性
    1,类中的属性是,是类中所有对象共有的,
    2,对象中的属性,是对象特有的,
    5,属性的查找顺序
    1,如果类和对象中都有共同属性,先访问对象自身属性,如果无在访问类属性
    属性的增删改
    1,增加属性
    对象变量名称.属性名称 = 属性值
    2,修改
    对象.属性 = 新的值
    3,查看属性 访问的是对象的所有属性
    print(对象.__dict__)
    4,访问对象的类信息
    print(对象.__class__)
    6,__init__,初始化类的方法
    # init方法
    叫做初始化方法,本质上就是一个函数
    特点1: 当实例化 对象时,会自动执行init方法
    特点2:会自动将对象作为第一个参数传入,参数名称位self ,self可以是别的名字,但不建议改

    功能:用户给对象赋初始值

    7,绑定方法与非绑定方法
    1,对象绑定方法(需要访问对象本身的方法就是对象绑定方法)
    类里面的方法默认的都是对象绑定方法
    本质不是当使用对象调用该函数时会自动传入对象本身,作为第一个参数

    当使用对象调用该函数时会自动传入对象本身,作为第一个参数

    当使用类名来调用时他就是一个普通函数,有几个参数就得传几个参数

    在面向对象中,把变量名称之为数据属性,把函数名称之为函数属性
    为什么需要对象绑定:是因为函数里面需要访问对象中的数据

    2,类绑定方法
    类绑定方法用@classmethod来装饰
    特殊之处:不管用类还是对象调用,都会自动传入类本身,作为第一个参数
    什么时候绑定给对象:当函数逻辑需要访问对象中的数据时
    什么时候绑定给类:当函数逻辑需要访问类中的数据时

    3.非绑定方法
    也叫作静态方法,就是即不需访问类的数据,.也不需要访问对象的数据
    语法:@staticmethod
    
    
  • 相关阅读:
    Java内部类详解
    Mac连接linux服务器
    mac 添加环境变量(jmeter添加至环境变量中)
    Charles使用断点修改返回或请求参数
    解决git clone速度慢的问题
    group by分组后获得每组中时间最大的那条记录
    使用Charles进行弱网测试
    http常见的状态码
    Mac使用Charles抓取ios手机APP中的https请求
    airtest使用poco方法的断言知识
  • 原文地址:https://www.cnblogs.com/Fzhiyuan/p/11241065.html
Copyright © 2020-2023  润新知