python录入学生信息网_Python学习笔记——小白入门系列——05函数(2)「类与继承」...

上一节直达:

Python学习笔记——小白入门系列——05函数(1)

这一节,咱们展开说函数:类的迭代与继承


d3b2771189034453e7efa4f1cefb77c1.png

本节提要


类的迭代与继承

  • 【class A(B)】 #子类(父类)
class SecondClass(MyClass):pass#定义SecondClass是MyClass的子类,SecondClass可以调用MyClass的属性和方法x = SecondClass()print(x.i)print(x.f())#输出的结果为12345hello world
  • 【class A(B, C)】 #多重继承,优先调⽤左位
class B:i = 123 #B类的属性是i=123class C:i = 12345 #C类的属性是i=12345class A(B,C): #A类是B类和C类的子类passx = A() #创建A类的实例xprint(x.i) #调用属性,会优先调用B类的属性#结果输出为123
  • 【类的修改继承】
#修改父类的属性class 基础机器人():    def __init__(self,参数):        self.姓名 = 参数        def 自报姓名(self):        print('我是' + self.姓名 + '!')    def 卖萌(self):        print('小哥哥,求抱抱!')class 高级机器人(基础机器人):    def 自报姓名(self):        print('我是高级机器人' + self.姓名 + '!')    def 卖萌(self):        print('小哥哥,每次想到怎么欺负你的时候,就感觉自己全身biubiubiu散发着智慧的光芒!')#此处父类属性已被修改,若重新引用父类原来的属性则会入坑,好的习惯是子类属性继承父类使用的时候重新贴一个标签,各归各。娜娜 = 高级机器人('娜娜')娜娜.自报姓名()娜娜.卖萌()

类的定义(def)和初始化(init)

  • 【class】
class MyClass: #定义类    i =12345 #定义类的属性(变量)    def f(self): #定义类的方法    return('hello world') #执行这个方法会返回'hello word'这个字符串    x = MyClass() #创建类的实例xprint(x.i) #打印实例x的属性print(x.f()) #打印实例x的f方法#输出的结果为12345hello world
  • 【def __init __(self )】 #创建类的初始化⽅法,只要调便⾃动初始化
class A:    def __init__(self): #只要创建实例,便会自动执行初始化方法下的语句    print('hello world')x = A()#输出:hello world#只要创建实例就会调用方法,打印hello world#对比以下没有初始化的方法:class A:    def f(self):    print('hello world')x = A()#不使用初始化方法,创建实例无任何输出

类的使用

  • 【直接使用--@classmethod】
class 念诗类():    一首诗 = ['《卜算子》','我住长江头,','君住长江尾。','日日思君不见君,','共饮长江水。']    参数 = input('这首诗你想让我念给给听呢?')    @classmethod    def 念诗函数(cls,称呼):        print('念给'+ cls.参数+str(称呼)+'的诗:')        for i in cls.一首诗:            print(i)念诗类.念诗函数('爸爸')
# 直接使用类class 成绩单():    @classmethod    def 录入成绩单(cls):    cls.学生姓名 = input('请输入学生姓名:')    cls.语文_成绩 = int(input('请输入语文成绩:'))    cls.数学_成绩 = int(input('请输入数学成绩:'))    @classmethod    def 打印成绩单(cls):        print(cls.学生姓名 + '的成绩单如下:')        print('语文成绩:'+ str(cls.语文_成绩))        print('数学成绩:'+ str(cls.数学_成绩))成绩单.录入成绩单()成绩单.打印成绩单()
  • 【使用其实例】
# 实例化之后,实例继承类的属性,并同步类的更新。class 成绩单(): # ①不用再写@classmethod    def 录入成绩单(self): # ②cls变成self    self.学生姓名 = input('请输入学生姓名:') # ③cls.变成self.    self.语文_成绩 = int(input('请输入语文成绩:'))    self.数学_成绩 = int(input('请输入数学成绩:'))    def 打印成绩单(self):        print(self.学生姓名 + '的成绩单如下:')        print('语文成绩:'+ str(self.语文_成绩))        print('数学成绩:'+ str(self.数学_成绩))成绩单1 = 成绩单() # ④创建实例对象:成绩单1成绩单1.录入成绩单() # ⑤实例化后使用成绩单1.打印成绩单()

类函数的重写

class 类():    def 原始函数(self):        print('我是原始函数!')    def 新函数(self):        print('我是重写后的新函数!')a = 类()  # 实例化a.原始函数()# 用新函数代替原始函数,也就是【重写类方法】类.原始函数 = 新函数# 现在原始函数已经被替换了a.原始函数()

下一节直达:

Python学习笔记——小白入门系列——05函数(3)「类的实例化」

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值