python的类属性,对象属性,类方法,对象方法,静态方法

这里是引用
类属性和对象属性的区别:
类属性:所属类所有,通过类调用和赋值,放在类里面方法外
对象属性:所属对象,不同的对象赋值,用__init__方法进行封装
class Node(object):
name = “zhangsan” #类属性

def __init__(self,item):
    self.item = item    #对象属性

node = Node(“lisi”) #创建对象
print(Node.name)#调用类属性
print(node.item)#调用对象属性
Node.name = “wangwu”#修改类属性
print(Node.name)

类方法
定义:使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法(不能传实例的属性和方法);
调用:实例对象和类对象都可以调用。
对象方法
定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法);
调用:只能由实例对象调用。
静态方法
定义:使用装饰器@staticmethod。参数随意,没有“self”和“cls”参数,但是方法体中不能使用类或实例的任何属性和方法;
调用:实例对象和类对象都可以调用。

class Node(object):
name = “zhangsan” #类属性

def __init__(self,item):
    self.item = item    #对象属性

@classmethod
def class_func(cls):
    print("class 方法")

def object_func(self):
    print("object 方法")

@staticmethod
def static_func():
    print("static 方法")

node = Node(“lisi”)
Node.class_func() #类方法调用
node.object_func() #对象方法调用
Node.static_func() #静态方法调用
node.static_func() #静态方法调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值