类
把所有具有相同属性的事物,归为一类。
举个栗子:所有动物可以归为一类,它的属性有眼睛、腿、鼻子、耳朵
实例
就是按照类这个模板创建一个实实在在的对象或者是事物,比如说:兔子有一双耳朵,一个鼻子,四条腿,一双眼睛。
语法
- 在python中,定义类是通过class关键字来实现的。类名一般首字母大写,比如:class User
- 创建实例是类后面加括号就可以,比如:a=User() #a就是一个实例
class User: #类
pass
a=User() #实例
类包含参数与方法(也就是函数),在类里面,参数就是静态的属性,方法就是动态的属性。
- 方法语法:
def run(self): #self是必须要写的,固定语法,没有原因
方法内容
- 参数语法:
直接赋值一个变量即可。
比如:leg=4
如果在方法里面调用这个参数,就直接这样调用:self.leg
#类包含参数与方法
class Animal: #类
leg=4 #参数:直接赋值一个变量
eye=2
ear=2
def run(self): #函数(self是必须要写的,固定语法)
print('小兔子有',self.leg,'腿','跑得快')
rabbit=Animal() #实例(实例就是类后面加括号)
rabbit.run() #调用函数
print(rabbit.leg) #调用参数
初始化函数—带有参数的类
带有参数的初始化函数:__init__函数,注意是两个下划线!!!
初始化函数的目的是每次写函数的时候就不用再单独去写参数了,可以直接在初始化函数里面定义,自动默认所有实例都具有初始化函数里面的参数,具体见函数。
#4.创建初始化函数--带有参数的类
class Person1_2:
def __init__(self,name,age):
self.name=name #赋值
self.age=age
def run(self):
print('我是',self.name,'今年',self.age,'岁','我喜欢唱歌')
man_1=Person1_2('李四',24)
man_1.run()
- 分类:
参数可以是一个或者多个
参数可以带有默认参数,这样不传值也不会报错。
- 调用:
1.类方法调用函数时:self.参数名
2.每次创建对象,都要传递对应个数的参数值
#4.创建带有参数的类---初始化函数
class Animal_2:
def __init__(self,leg,eye,ear=2):
self.leg=leg
self.eye=eye
self.ear=ear
def run(self):
print('小兔子有',self.leg,'腿','跑得可快了')
#创建实例并调用方法&调用参数
rabbit_2=Animal_2(4,2,1)#传三个参数
rabbit_2.run()
rabbit_3=Animal_2(4,2)#传两个参数
rabbit_3.run()
print(rabbit_3.eye)
类方法—带有参数的类方法
#带有参数的类方法
def test(self,leg,ear):
print(leg)
- 分类:
参数可以是一个或者多个
参数可以带有默认参数,这样不传值也不会报错。
- 调用:
1.实例调用方法时:实例名.方法名
2.每次调用方法时,都要传递对应个数的参数值
#4.创建带有参数的类方法
class Person1_3:
def __init__(self,name,age):
self.name=name #赋值
self.age=age
def sing(self):
print('我是',self.name,'今年',self.age,'岁','我喜欢唱歌')
def run(self,miles):
print('我是',self.name,'我跑',miles,'米')
man_2=Person1_3('王二',24)
man_2.sing()
man_2.run('100')
类的继承
- Python类的继承:
1.格式:class Student(User) #Studetn继承了User的属性和方法
2.特点:
1)子类可以继承或重写父类的方法
2)子类可以自定义新的方法或者是成员变量
#4.创建带有参数的类方法
class Person1_3:
def __init__(self,name,age):
self.name=name #赋值
self.age=age
def sing(self):
print('我是',self.name,'今年',self.age,'岁','我喜欢唱歌')
def run(self,miles):
print('我是',self.name,'我跑',miles,'米')
man_2=Person1_3('王二',24)
man_2.sing()
man_2.run('100')
#类的继承
class Child(Person1_3):
pass
child=Child('不予',24)
child.sing()
#4.创建带有参数的类---初始化函数,两个方法
class Person1_3:
def __init__(self,name,age):
self.name=name #赋值
self.age=age
def sing(self):
print('我是',self.name,'今年',self.age,'岁','我喜欢唱歌')
def run(self,miles):
print('我是',self.name,'我跑',miles,'米')
man_2=Person1_3('王二',24)
man_2.sing()
man_2.run('100')
#子类可以自定义新的方法或者是成员变量
class Child_1(Person1_3):
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
def run(self,miles,time):
print('我是', self.name, '我',time,'分钟跑', miles, '米')
child_1=Child_1('不予',24,'女')
child_1.run(3000,10)