类与对象
1.类的命名
Python中类通常是用class来声明的,就像下面这样:
class Students:
Unified_information=['freshman','19 or 20']
通过上面的代码我们命名了一个Students类
2.类的属性
就像我刚才创建了Students类以外还做了一件事,那就是给它添加了一个性质,那就是它的Unified_information属性是后面的那个列表,类的属性指的是它所包含的实例的性质。
3.实例化
刚才说到类的属性时提到了实例,那么下面就展示一下什么是类对象的实例化:
class Students:
Unified_information=['freshman','19 or 20']
student1=Students()
上面的代码就是为类添加了一个实例student1,那么我们下面就要进行属性的引用。
3.属性的引用
首先我们将刚才的student1已有的属性值打印出来看看:
class Students:
Unified_information=['freshman','19 or 20']
student1=Students()
print(student1.Unified_information)
# ['freshman','19 or 20']
很明显类与实例其实是存在继承关系的,也就是类中所定义的属性值无需在实例中再定义,默认就是和类定义的属性值,而接下来我要讲实例独特属性的定义。
我们在类属性值定义时,注明了学生的年级都是大学一年级,和年龄的范围,但每个同学可以来自不同的省份,我们所添加的实例每一个就会有他自己的属性值,看下面的代码:
class Students:
Unified_information=['freshman','19 or 20']
student1=Students()
student2=Students()
student1.hometown='上海'
student2.hometown='天津'
print(student1.hometown,student2.hometown)
# '上海' '天津'
除了给实例添加特殊的性质外我们还可以对实例从类那里继承的属性值进行更新,就像下面这样:
class Students:
Unified_information=['freshman','19 or 20']
student1=Students()
student1.Unified_information=['freshman','19']
print(student1.Unified_information)
# ['freshman','19']
没错,当我们重新定义实例的属性值,实例的属性值就会变得与它所属的类不一样,也就是除了继承外还可以更新
还有就是一个名为_int_()
的特殊方法,这种在实例化时会自动调用,举个例子:
class Students:
Unified_information=['freshman','19 or 20']
def _int_(self,class)
self.class='class'
print('Welcome to new family!')
student1=Students('一班')
print(student1.class)
# Welcome to new family!
# '一班'
这里注意self指的是实例,并非实例。