700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python创建实例属性_Python学习笔记__6.5章 实例属性和类属性

python创建实例属性_Python学习笔记__6.5章 实例属性和类属性

时间:2019-11-17 04:33:17

相关推荐

python创建实例属性_Python学习笔记__6.5章 实例属性和类属性

# 这是学习廖雪峰老师python教程的学习笔记

1、概览

1.1、实例绑定属性

class Student(object):

def __init__(self, name):

self.name = name

s = Student('Bob')#创建实例 s

s.score = 90#为s新增一个score属性

1.2、类绑定属性

class Student(object):

name = 'Student'

name属性归类所有,但Studen的所有instance都可以访问到

# 实例访问类属性

>>> s = Student()# 创建实例s

>>> print(s.name)# 打印name属性,因为实例并没有name属性,所以会继续查找class的name属性

Student

# 给实例绑定 name 属性

>>> s.name = 'Michael'# 给实例绑定name属性

>>> print(s.name)# 由于实例属性优先级比类属性高,因此,它会屏蔽掉类的name属性

Michael

1.3、总结

相同名称的实例属性将屏蔽掉类属性

2、例子

1、为了统计学生人数,可以给Student类增加一个类属性,每创建一个实例,该属性自动增加:

# -*- coding: utf-8 -*-

class Student(object):

count = 0

def __init__(self, name):

self.name = name

Student.count = Student.count + 1

#测试:if Student.count != 0:

print('测试失败!')

else:

bart = Student('Bart')

if Student.count != 1:

print('测试失败!')

else:

lisa = Student('Bart')

if Student.count != 2:

print('测试失败!')

else:

print('Students:', Student.count)

print('测试通过!')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。