python学习笔记-part5:类与实例


把所有具有相同属性的事物,归为一类。
举个栗子:所有动物可以归为一类,它的属性有眼睛、腿、鼻子、耳朵

实例
就是按照类这个模板创建一个实实在在的对象或者是事物,比如说:兔子有一双耳朵,一个鼻子,四条腿,一双眼睛。

语法

  1. 在python中,定义类是通过class关键字来实现的。类名一般首字母大写,比如:class User
  2. 创建实例是类后面加括号就可以,比如: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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值