# class demo1: # __name = "钱包" # _car = "雅阁" # def __init__(self,age): # self.__age = age # def test01(self): # print(self.__name) # print(self.__age) # print(self._car) # cl = demo1(20) # cl.test01() # print(demo1.__dict__) # print(cl.__dict__) # print(cl._demo1__name) """ 1.实例方法 访问所有的属性和方法 类实例.属性名() 类实例.方法名() 1.定义 def test01(self) 第一个参数必须是实例对象,通常用self来接收,(见名之意) 2.调用 1.类的里面 self.函数名() 2.类的外面 类实例.方法名() 3.特点:只能通过类的实例来调用 4.使用场景:需要访问实例属性, 类属性(def __init__ (self)),实例方法的时候,可以定义实例方法 class demo2: age = 20 # 1. 类属性 def __init__(self, name): self.name = name # 2.实例属性 def test_01(self): # 3.实例方法 print("name={}".format(self.name)) print("age={}".format(self.age)) def test_02(self): #使用实例方法的场景。 self.test_01() cl = demo2("王小果") cl.test_02() 2.类方法 : 类 :访问类方法和类属性 类.类方法() 类.类属性() 1.创建:通过@classmethod 装饰器修饰的 2.注意: 第一个参数必须是类的本身,一般使用 cls @classmethod class test_01(cls) # 类方法 3.调用: 1.类里面 类.方法名 self.方法名 2.类外面 实例类.方法名() 类.方法名()(类直接访问的方式) 4.特点 1.可以访问类属性 和类方法 2.不可以访问类实例和类实例方法 5.使用场景 当方法不需要使用实例属性或者实例方法的时候,定义类方法 5.静态方法 1.创建 1. 通过@staticmethod 修饰 2.他没有默认参数,不需要写任何参数 2.调用 1.类里面 类.方法名 2.类外面 实例.方法名 3.特点 1.类和类的实例都可以调用静态方法 2.不能访问类相关的属性和方法 3.不能访问实例的属性和方法 4.使用场景 既不使用类相关的属性和方法,也不使用实例的属性和方法的时候使用静态方法 """ class demo2: age = 20 # 1. 类属性 def __init__(self, name): self.name = name # 2.实例属性 def test_01(self): # 3.实例方法 print("name={}".format(self.name)) print("age={}".format(self.age)) def test_02(self): #使用实例方法的场景。 self.test_01() self.test_03() def test_05(self): print("实例方法05") @classmethod def test_03(cls): print("类方法") @staticmethod def test_04(): demo2.test_03() #调用类方法 print(demo2.age) print("静态方法test04") cl = demo2("王小果") cl.test_04()
【猫狗日记】 类方法实例方法静态方法私有方法总结
最新推荐文章于 2024-11-11 21:30:41 发布