#静态属性:就是数据属性#定义个房间类# class Room:# def __init__(self,name,owner,width,length,heigh):# self.name=name# self.owner=owner# self.length=length# self.width=width# self.heigh=heigh## r1=Room("房号1120","zhangshang",10,20,3)# print("%s住的%s房子面积是%s:"%(r1.owner,r1.name,r1.width*r1.length))# r2=Room("房号1130","老王",10,20,3)# print("%s住的%s房子面积是%s:"%(r2.owner,r2.name,r2.width*r2.length)) #@property 定义个属性,不让调用看到使用的逻辑# class Room:# def __init__(self,name,owner,width,length,heigh):# self.name=name# self.owner=owner# self.length=length# self.width=width# self.heigh=heigh# @property#定义个属性,不让调用看到使用的逻辑# def mianjie(self):# return self. width*self.length## r1=Room("房号1120","zhangshang",10,20,3)# r2=Room("房号1130","老王",10,20,3)# print(r1.mianjie)#因为使用了property所有看上去像调用类属性,结果:200# print(r2.mianjie)#因为使用了property所有看上去像调用类属性,结果:200# print(r1.name)#调用类的属性,结果;房号1120# print(r2.name)#调用类的属性,结果;房号1130 #类来调用自己的方法时使用 @classmethod——————针对恩赐# class Room:# tag=1# def __init__(self,name,owner,width,length,heigh):# self.name=name# self.owner=owner# self.length=length# self.width=width# self.heigh=heigh## @classmethod#使用classmethod能调用自己的类# def tell(cls):# print(cls)# print("———》",cls.tag)## Room.tell()#调用自己的类,结果:———》 1 # 静态方法#@staticmethod 当在类下应用staticmethod时候,在下面定义一个函数时,不会出现self 和 cls,静态方法只是名义上的归属管理,不能使用类变量和实例变量,石磊的工具包class Room: tag=1 def __init__(self,name,owner,width,length,heigh): self.name=name self.owner=owner self.length=length self.width=width self.heigh=heigh @property def mianjie(self): return self. width*self.length @classmethod def tell(cls): print(cls) print("———》",cls.tag) @staticmethod#当在类下应用staticmethod时候,在下面定义一个函数时,不会出现self 和 cls,静态方法只是名义上的归属管理,不能使用类变量和实例变量,石磊的工具包 def test(a,b): print("%s %s 正在吃饭"%(a,b)) Room.test("张三","老王")#结果:张三 老王 正在吃饭
原文地址:https://www.cnblogs.com/jianchixuexu/p/11645051.html
时间: 2024-10-10 01:36:46