我这样分析py方法是不是有点大题小做了 感觉越变越绕了

class A:  # 类对象A
count = 0  # 类属性count

def __init__(self, b):
self.b = b  # 实例方法b

def c(self):
print("实例方法c")
A.f(self)  # 实例方法中可以调用其他实例方法 类名.实例方法名(self)
A.d()  # 实例方法中可以调用类方法 类名.类方法名
A.e()  # 实例方法中可以调用静态方法 类名.静态方法名
print(self.b)  # 实例方法中可以访问或修改实例属性
print(A.count)  # 实例方法中可以访问或修改类属性
A.count = 10

def f(self):
print("实例方法f")

@classmethod
def d(cls):
print("类方法d")

# 类方法中无法调用实例方法、修改访问实例属性
# 类方法中可以调用其他类方法、静态方法、修改访问类属性

@staticmethod
def e():
print("静态方法e")
# 静态方法中无法调用实例方法、修改访问实例属性
# 静态方法中可以调用类方法、其他静态方法,修改访问类属性


aa = A(1)
aa.c()
# 实例方法c
# 实例方法f
# 类方法d
# 静态方法e
# 1
# 0
#python##Python#
全部评论
实例方法可以访问实例属性,其他实例方法,(不推荐:类属性类方法,静态方法) 类方法可以访问类属性,其他类方法,静态方法,访问不了实例属性实例方法 静态方法内部不访问实例属性,实例方法,类属性类方法,无self,cls参数,只能访问其他静态方法
点赞 回复 分享
发布于 2022-04-11 15:43
方法内部既需要访问实例属性,又需要访问类属性 应该定义 实例方法 因为,类只有一个,在 实例方法 内部可以使用 类名. 访问类属性
点赞 回复 分享
发布于 2022-04-11 15:48

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务