Python随手笔记(八)--------面向对象编程(5)

8.5 实例属性和类属性

给实例绑定属性的方法是通过实例变量,或者通过self变量:


>>> class Animal(object):
	def __init__(self,name):
		self.name = name
>>> an = Animal('wangda')
>>> an.age = 3

如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有:

class Student(object):
name = ‘Student’

当我们定义了一个类属性后,这个属性虽然归类所有,但类的所有实例都可以访问到。来测试一下:

>>> class Animal:
	name = 'animal'

	
>>> an = Animal()
>>> print(an.name)
animal
>>> print(Animal.name)
animal
>>> an.name = 'Dog'
>>> an.name
'Dog'
>>> print(an.name)
Dog
>>> print(Animal.name)
animal
>>> del an.name
>>> print(an.name)
animal

从上面的例子可以看出,在编写程序的时候,千万不要对实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访问到的将是类属性。

发布了37 篇原创文章 · 获赞 42 · 访问量 4500

猜你喜欢

转载自blog.csdn.net/qq_43337175/article/details/104447299
今日推荐