类和对象的方法

    技术2022-07-10  174

    方法

    方法

    类中方法有三种:对象方法,类方法,静态方法

    1)对象方法

    怎么定义:直接定义在类中的函数就是对象方法 特点:自带参数self(self在调用对象的时候不用传参,系统会将当前对象传给self),谁调用指向谁 怎么调用:用对象去调用(对象.方法名())

    2)类方法

    怎么定义:定义函数前加装饰器 @classmethod 特点:自带参数cls(cls在通过类调用的时候不用传参,系统会自动将当前类传给cls) 怎么调用:用类调用(类.方法名)

    3)静态方法

    ​ 怎么定义:在定义函数前加一个装饰器@staticmethod ​ 特点:没有默认参数 ​ 怎么调用:用类调用(类.方法名)

    4) 对象方法、类方法和静态方法怎么选:

    ​ 如果实现函数的功能需要用到对象的属性,就选对象方法

    class Dog(): """eat是对象方法""" def eat(self): print('在啃骨头') @classmethod def count(cls): # Dog能做的cls都能做 print('狗的数量是:100') @classmethod def func1(cls): print() @staticmethod def func2(): print('静态方法') 创建对象 dog1 = Dog() 用对象调用对象 dog1.eat() 用类调用类方法 Dog.count() 用类调用静态方法 Dog.func2() print('===========================================================') 从本质上讲,类的所有方法都可以用对象和类来调用 Dog.eat(12)# 如果用类调用对象方法,self就会变成普通的参数,没有存在的价值

    __init__方法

    构造方法

    构造方法:函数名和类名是一样的,用来创造对象的方法就是构造(python中的构造方法,在定义类的时候系统就已经自动创建好了)

    init方法

    __init__方法又叫初始化方法,用来在创建对象的时候对对象进行初始化操作的 当我们通过类创建对象的时候,系统会自动调用__init__方法来对类创建出来的对象进行初始化 调用构造方法创建对象的时候需不需要参数,需要几个,看被自动调用的__init__方法 class Person: def init(self,a,b): print(‘初始化方法’,a,b)

    p1 = Person(1,2) p2 = Person(3,4)

    #伪代码

    def Person(*args,**kwargs): 对象 = 申请空间创建对象 对象.init(*args,**kwargs) return 对象

    对象属性

    属性:对象属性和类属性

    对象属性:会因为对象不同而不一样 特点:

    a.定义在init方法中
    b.以self.属性名 = 值
    c.通过对象.属性名 的方式使用属性
    class Person: def __init__(self,name,age,gender): self.name = name self.age = age self.gender = gender def eat(self): print(self.name,'在吃饭') p1 = Person('小美',18,'女') print(p1.name,p1.age,p1.gender) p1.name = '美美' print(p1.name,p1.age,p1.gender) p1.eat()
    Processed: 0.012, SQL: 9