|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- class a:
- x = 1 # 类属性
- def __init__(self):
- self.y = 2 #对象属性
-
- c = a()
- b = a() #对象可以直接调用类属性和对象属性
- print(b.y)
- print(a.x) #类只能调用类属性
- print(id(b.x)) #地址相同
- print(id(a.x))
- print(id(c.x))
- b.x -= 10
- a.x -= 10
- print(id(a.x))
- print(id(b.x)) #b对象经历了运算,拥有自己的对象属性
- print(id(c.x)) #c的属性没有运算,直接调用类属性
复制代码- class a:
- y = "我是类属性"
- def __init__(self):
- self.x = "我是实例属性,我能被实例方法调用"
- def getx(self):
- return self.x
- @staticmethod
- def iii(m=1,n=2):
- return m + n
- @classmethod
- def jjj(cls): #需要一个参数,即该类,类方法被绑定在类上
- return 2
-
- b = a()
- print("实例调用实例方法",b.getx())
- print("实例获取实例方法信息",b.getx)
- print("类获取实例方法信息",a.getx)
- print("类调用类属性",a.y)
- #print("类调用实例属性",a.x)
- print("实例调用类属性",b.y)
- print("实例调用实例属性",b.x)
- print("类获取静态方法信息",a.iii) #静态方法是一种非绑定方法,实例和类都可调用,参数任意
- print("类调用静态方法",a.iii())
- print("实例获取静态方法信息",b.iii)
- print("实例调用静态方法",b.iii())
- print("实例获取类方法信息",b.jjj) #类方法实例和类均可调用,第一个参数为该类
- print("类获取类方法信息",a.jjj)
- print("类调用类方法",a.jjj())
- print("实例调用类方法",b.jjj())
复制代码 |
|