[Python] 类属性和实例属性

一、简述二者区别

对类属性的修改可被保存在类中(单例模式就是基于类属性的这种特性),修改后的属性能够被子类继承

实例属性的修改只对该实例有效,不会对其他实例和其对应类的子类实例造成影响

 

二、来看下例子:

类属性:

class A(object):
	a = 1
	pass

print(A.a)     # 查看A类的属性a,结果为1

A.a = 2        # 对A类的属性a进行修改


class B(A):    # B类继承A类
	pass

print(B.a)     # 打印出B类属性a为2 

实例属性:

class A(object):

	def __init__(self,age):
		self.name = "Allen"    # 有个固定的实例属性name = "Allen"
		self.age = age

a = A(12)                # 创建实例a
aa = A(11)               # 创建实例aa
print(a.name,a.age)      # 结果为:Allen 12
print(aa.name,aa.age)    # 结果为:Allen 11

a.name = "Ellen"         # 修改实例a的属性name

print(a.name,a.age)      # 结果为:Ellen 12
print(aa.name,aa.age     # 结果为:Allen 11


class B(A):             # 创建类B,继承自类A       
	pass


b = B(15)                # 创建对象b
print(b.name,b.age)      # 结果为:Allen 15

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值