python静态属性装饰器_python课堂整理35----静态属性、类方法、静态方法

本文介绍了Python中静态属性、类方法和静态方法的概念与使用。通过示例展示了如何使用@property装饰器创建静态属性,类方法的定义及调用,以及静态方法的实现与调用方式。
摘要由CSDN通过智能技术生成

一、静态属性(绑定实例)

其实就是数据属性

通过装饰器 @property 将函数属性伪装成数据属性

class Room:

def __init__(self, name, owner, length, width, high):

self.name = name

self.owner = owner

self.length = length

self.width = width

self.high = high

@property

def cal_vol(self): #计算体积

return "%s的%s体积为%s"%(self.owner,self.name,self.length * self.width * self.high)

v1 = Room("我的小窝", "刘文豪",100, 100, 100)

print(v1.name) #实例查看数据属性

print( v1.cal_vol) #静态属性查看体积

28e1a433820dc07db38700b465c24125.png

二、类方法 (绑定类)

将@calssmethod 写在类里面的函数前,该函数称为类方法

不需要实例化,类可以直接调用,但是只能访问类属性

class Lie_method:

tag = 10

def __init__(self, name, age):

self.name = name

self.age = age

@classmethod

def Lei_info(cls): #默认的参数为 cls ,指的就是这个类名(Lie_method)

print("类方法结果为%s"%(cls.tag))

@classmethod

def test(cls, x):

print("无聊的下午%s%s"%(cls.tag, x))

Lie_method.Lei_info()

Lie_method.test("想")

6c07872aca910df5e058f3c3e36b5306.png

三、静态方法  (即不绑定类,又不绑定函数)

通过 @staticmethod 绑定函数

staticmethod 静态方法只是名义上的归属类管理,不能使用类变量和实例变量,是类的工具包

class Room:

def __init__(self, name, owner, length, width, high):

self.name = name

self.owner = owner

self.length = length

self.width = width

self.high = high

@property

def cal_vol(self): #计算体积

return "%s的%s体积为%s"%(self.owner,self.name,self.length * self.width * self.high)

@staticmethod

def take_bath(x, y):

print("%s和%s正在洗澡"%(x, y))

Room.take_bath('小明','小红') #通过类的点方法调用

v1 = Room("我的小窝", "刘文豪",100, 100, 100)

v1.take_bath('小明','小红') #也可以通过实例调用

75b8cdc041ed2c3784b3b133a567392b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值