第49天python学习静态属性 静态方法

Posted 坚持是多么伟大的事情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第49天python学习静态属性 静态方法相关的知识,希望对你有一定的参考价值。

#静态属性:就是数据属性
#定义个房间类
# 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("张三","老王")#结果:张三 老王 正在吃饭

以上是关于第49天python学习静态属性 静态方法的主要内容,如果未能解决你的问题,请参考以下文章

python学习历程第19天

Python学习第106天(Django的静态文件staticurl分组)

python学习第七周之静态方法类方法属性方法和一些类的成员方法

Python学习第14篇:面向对象之反射以及内置方法

第174天:面向对象——公有属性私有属性和静态属性

python学习历程第16天