通俗易懂地介绍Python中的类、子类、__init__函数、实例、self变量的概念

先上答案。

:类就是一个模具,模具里面刻画了月饼的各种特征和功能。比如说生产月饼的时候,单个月饼的形状和花纹符号并不是用手捏出来的,这样效率太低。所以厂家就会先制作一个月饼模具,批量生产的时候只需要用这个月饼模具一盖,就立刻做好了每个月饼。

子类:厂家不会只生产一款月饼。子类就是参照第一个模具,做了一些改进后形成的第二个模具(第二款月饼)。

__init__函数:它是类(模具)当中的一种特殊函数,用来记录类中每个个体的特征,目的是用来区分开不同个体的特征。比如说一个“人”的模具,__init__函数记录的就可以是具体人的具体名字、兴趣、爱好等等。一旦类生效了,__init__函数的代码一定会被执行,无论它里面有什么样的变量、函数。

实例:模具(类)做好以后,总要拿去用,模具盖出来的每一个月饼,就是一个实例。

self变量:self变量相当于每个实例的身份证编号。用来区分开不同个体。

下面用一段代码来具体地体会一下。

#定义一个“人”的类,类就相当于女娲造人时使用的模具。
class Person:
    
    #一些不会改变的参数可以直接定义
    head = 1
    eyes = 2
    hands = 2
    
    #一些个性化的参数,用__init__函数来写。所谓个性化参数,就是不同的人会有不同的值。
    #self相当于每一个具体的人的身份证号码,用以区分不同的人。nanme是姓名,gender是性别,hobby是爱好,major是所学专业。
    def __init__(self,name,major,hobby):
        #将传入的参数赋予给具体的人
        self.name = name
        self.hobby = hobby
        self.major = major
        
    def sayHello(self):
        print('作为我自己,'+'我的名字是'+self.name+',专业是'+self.major+',兴趣爱好是'+self.hobby+'。')

#把Person实例化,得到具体的实例,小明。
person1 = Person('小明','计算机科学与技术','编程、泡图书馆、内卷')
print('hello,作为一个正常人,我当然有'+str(person1.head)+'个头,'+str(person1.eyes)+'个眼睛,'+str(person1.hands)+'个手。')
person1.sayHello()

#定义一个子类“Idle”即明星,继承自父类“Person”,因为明星也是一种人。
class Idle(Person):
    def __init__(self,name,major,hobby,years):
        
        #super用于复制父类中的属性。
        super().__init__(name,major,hobby)
        
        #定义Idle特有的属性,即训练时长years
        self.years = years
        
    def sayHello1(self):
        print('训练时长'+self.years)
        

print('\n')

#实例化,从而得到另一个具体的实例。
person2 = Idle('cxk','唱、跳、rap、篮球','戏剧影视文学','两年半')
print('hello,作为一个正常人,我当然有'+str(person2.head)+'个头,'+str(person2.eyes)+'个眼睛,'+str(person2.hands)+'个手。')

#子类可以调用父类的函数
person2.sayHello()

#子类调用自己的函数
person2.sayHello1()

运行结果:
请添加图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值