在python中类是一个模板,而实例是根据这个模板而创建的对象。
1、类的定义与实例创建:
在python中类的定义都是通过class这个关键字来定义的,且通常类名的首字母都是大写的。
class Studen:#这样就创建好了一个类,类的类名为Studen
pass
创建好了类,我们就可以去创建实例了。
#这些都是不带实例属性的实例
s1=Studen()
s2=Studen()
s3=Studen()
2、类的类属性:
类属性是一个类所具有的属性,通常一个类的每个实例所具有的类属性是一样多的,但是也可以去修改单独一个实例的类属性,并且不影响其他实例的类属性。
class Studen:
school='清华大学'#这个就是类属性
##创建3个实例
s1=Studen()
s2=Studen()
s3=Studen()
#每个实例的类属性都是相同的
print(s1.school)
print(s2.school)
print(s3.school)
输出结果:
我们也可以单独的去修改一个实例的类属性,且不影响其他实例的类属性。
class Studen:
school='清华大学'#这个就是类属性
##创建3个实例
s1=Studen()
s2=Studen()
s3=Studen()
#对s1的类属性修改,且不会影响其他实例的类属性
s1.school='北京大学'
print(s1.school)
print(s2.school)
print(s3.school)
输出结果:
3、类的实例属性:
实例属性是对于每一个实例所具有的单独的属性。
实例属性的定义通常是在类中用__init__()来定义。
定义带实例属性的类:
class Studen:
school='清华大学'#这个就是类属性
def __init__(self,name):#这个是在定义实例属性
self.name=name
创建带实例属性的实例:
s1=Studen('张三')
s2=Studen('李四')
s3=Studen('王五')
实例属性是可以修改的:
#修改前
print(s1.name)
print(s2.name)
print(s3.name)
#修改
s1.name='a'
s2.name='b'
#修改后
print(s1.name)
print(s2.name)
print(s3.name)
输出结果:
4、类的实例方法:
实例方法是在类的内部,用def关键字定义的。
实例方法的定义:
class Studen:
school='清华大学'#这个就是类属性
def __init__(self,name):#这个是在定义实例属性
self.name=name
def show(self):#这是实例方法的定义
print('我是{},是{}的学生'.format(self.name,self.school))
实例方法的使用:
class Studen:
school='清华大学'#这个就是类属性
def __init__(self,name):#这个是在定义实例属性
self.name=name
def show(self):#这是实例方法的定义
print('我是{},是{}的学生'.format(self.name,self.school))
s1=Studen('张三')
s2=Studen('李四')
s3=Studen('王五')
#实例方法的使用
s1.show()
s2.show()
s3.show()
输出结果: