2024年python面向对象,大厂面试题app

文末有福利领取哦~

👉一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。img

👉二、Python必备开发工具

img
👉三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
img

👉 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
img

👉五、Python练习题

检查学习结果。
img

👉六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
img

img

👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

self.属性名

print(self.width)

print(f’洗衣机的宽度是{self.width}')

print(f’洗衣机的高度是{self.height}')

haier1 = Washer()

添加属性

haier1.width = 400

haier1.height = 500

对象调用实例方法

haier1.print_info()

七、魔法方法:init()方法


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

目标: 定义init魔法方法设置初始化属性 并访问调用

“”"

  1. 定义类

init魔法方法: width 和 height

添加实例方法:访问实例属性

  1. 创建对象

  2. 验证成果

调用实例方法

“”"

class Washer():

def init(self):

添加实例属性

self.width = 500

self.height = 800

def print_info(self):

print(f’洗衣机的宽度是{self.width}')

print(f’洗衣机的高度是{self.height}')

haier = Washer()

haier.print_info()

八、有参数的__init__()方法


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1. 定义类:带参数的init:宽度和高度; 实例方法:调用实例属性

class Washer():

def init(self, width, height):

self.width = width

self.height = height

def print_info(self):

print(f’洗衣机的宽度是{self.width}, 洗衣机的高度是{self.height}')

2. 创建对象,创建多个对象且属性值不同;调用实例方法

haier1 = Washer(10, 20)

haier1.print_info()

haier2 = Washer(100, 200)

haier2.print_info()

九、魔法方法:str()方法


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

class Washer():

def init(self):

self.width = 300

def str(self):

return ‘解释说明:类的说明或对象状态的说明’

haier = Washer()

print(haier)

十、魔法方法:__del__()方法


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

class Washer():

def init(self):

self.width = 300

def del(self):

print(‘对象已经删除’)

haier = Washer()

十一、继承的概念


1.现实中的继承

在这里插入图片描述

2.程序中的继承

在这里插入图片描述

继承:子类默认继承父类的所有属性和方法

1. 定义父类

class A(object):

def init(self):

self.num = 1

def info_print(self):

print(self.num)

2. 定义子类 继承父类

class B(A):

pass

3. 创建对象,验证结论

result = B()

result.info_print()

十二、单继承


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1. 师父类,属性和方法

class Master(object):

def init(self):

self.kongfu = ‘[古法煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

2. 定义徒弟类,继承师父类

class Prentice(Master):

pass

3. 用徒弟类创建对象,调用实例属性和方法

daqiu = Prentice()

print(daqiu.kongfu)

daqiu.make_cake()

十三、多继承


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1. 师父类,属性和方法

class Master(object):

def init(self):

self.kongfu = ‘[古法煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

为了验证多继承,添加School父类

class School(object):

def init(self):

self.kongfu = ‘[黑马煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

2. 定义徒弟类,继承师父类 和 学校类

class Prentice(School, Master):

pass

3. 用徒弟类创建对象,调用实例属性和方法

daqiu = Prentice()

print(daqiu.kongfu)

daqiu.make_cake()

结论:如果一个类继承多个父类,优先继承第一个父类的同名属性和方法

十四、子类重写父类的同名属性和方法


在这里插入图片描述

在这里插入图片描述

1. 师父类,属性和方法

class Master(object):

def init(self):

self.kongfu = ‘[古法煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

为了验证多继承,添加School父类

class School(object):

def init(self):

self.kongfu = ‘[黑马煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

2. 定义徒弟类,继承师父类 和 学校类, 添加和父类同名的属性和方法

class Prentice(School, Master):

def init(self):

self.kongfu = ‘[独创煎饼果子技术]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

3. 用徒弟类创建对象,调用实例属性和方法

daqiu = Prentice()

print(daqiu.kongfu)

daqiu.make_cake()

结论:如果子类和父类拥有同名属性和方法,子类创建对象调用属性和方法的时候,调用到的是子类里面的同名属性和方法

1. 师父类,属性和方法

class Master(object):

def init(self):

self.kongfu = ‘[古法煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

2. 定义徒弟类,继承师父类 和 学校类, 添加和父类同名的属性和方法

class Prentice(Master):

def init(self):

self.kongfu = ‘[独创煎饼果子技术]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

3. 用徒弟类创建对象,调用实例属性和方法

daqiu = Prentice()

print(daqiu.kongfu)

daqiu.make_cake()

print(Prentice.mro)

十五、子类调用父类同名属性和方法


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1. 师父类,属性和方法

class Master(object):

def init(self):

self.kongfu = ‘[古法煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

为了验证多继承,添加School父类

class School(object):

def init(self):

self.kongfu = ‘[黑马煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

2. 定义徒弟类,继承师父类 和 学校类, 添加和父类同名的属性和方法

class Prentice(School, Master):

def init(self):

self.kongfu = ‘[独创煎饼果子技术]’

def make_cake(self):

加自己的初始化的原因:如果不加这个自己的初始化,kongfu属性值是上一次调用的init内的kongfu属性值

self.init()

print(f’运用{self.kongfu}制作煎饼果子’)

子类调用父类的同名方法和属性:把父类的同名属性和方法再次封装

def make_master_cake(self):

父类类名.函数()

再次调用初始化的原因:这里想要调用父类的同名方法和属性,属性在init初始化位置,所以需要再次调用init

Master.init(self)

Master.make_cake(self)

def make_school_cake(self):

School.init(self)

School.make_cake(self)

3. 用徒弟类创建对象,调用实例属性和方法

daqiu = Prentice()

daqiu.make_cake()

daqiu.make_master_cake()

daqiu.make_school_cake()

daqiu.make_cake()

十六、多层继承


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1. 师父类,属性和方法

class Master(object):

def init(self):

self.kongfu = ‘[古法煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

为了验证多继承,添加School父类

class School(object):

def init(self):

self.kongfu = ‘[黑马煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

2. 定义徒弟类,继承师父类 和 学校类, 添加和父类同名的属性和方法

class Prentice(School, Master):

def init(self):

self.kongfu = ‘[独创煎饼果子技术]’

def make_cake(self):

self.init()

print(f’运用{self.kongfu}制作煎饼果子’)

子类调用父类的同名方法和属性:把父类的同名属性和方法再次封装

def make_master_cake(self):

Master.init(self)

Master.make_cake(self)

def make_school_cake(self):

School.init(self)

School.make_cake(self)

步骤:1. 创建类Tusun, 用这个类创建对象;2. 用这个对象调用父类的属性或方法看能否成功

class Tusun(Prentice):

pass

xiaoqiu = Tusun()

xiaoqiu.make_cake()

xiaoqiu.make_master_cake()

xiaoqiu.make_school_cake()

十七、通过super()来调用父类中方法


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

class Master(object):

def init(self):

self.kongfu = ‘[古法煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

class School(Master):

def init(self):

self.kongfu = ‘[黑马煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

2.1 super()带参数写法

super(School, self).init()

super(School, self).make_cake()

2.2 无参数的super

super().init()

super().make_cake()

class Prentice(School):

def init(self):

self.kongfu = ‘[独创煎饼果子技术]’

def make_cake(self):

self.init()

print(f’运用{self.kongfu}制作煎饼果子’)

子类调用父类的同名方法和属性:把父类的同名属性和方法再次封装

def make_master_cake(self):

Master.init(self)

Master.make_cake(self)

def make_school_cake(self):

School.init(self)

School.make_cake(self)

需求:一次性调用父类School Master的方法

def make_old_cake(self):

方法一:如果定义的类名修改,这里也要修改,麻烦; 代码量庞大,冗余

School.init(self)

School.make_cake(self)

Master.init(self)

Master.make_cake(self)

方法二:super()

2.1 super(当前类名, self).函数()

super(Prentice, self).init()

super(Prentice, self).make_cake()

2.2 无参数super

super().init()

super().make_cake()

daqiu = Prentice()

daqiu.make_old_cake()

十八、私有属性和私有方法


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

class Master(object):

def init(self):

self.kongfu = ‘[古法煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

class School(object):

def init(self):

self.kongfu = ‘[黑马煎饼果子配方]’

def make_cake(self):

print(f’运用{self.kongfu}制作煎饼果子’)

class Prentice(School, Master):

def init(self):

self.kongfu = ‘[独创煎饼果子技术]’

self.money = 2000000

定义私有属性

self.__money = 2000000

定义私有方法

def __info_print(self):

print(‘这是私有方法’)

def make_cake(self):

self.init()

print(f’运用{self.kongfu}制作煎饼果子’)

def make_master_cake(self):

Master.init(self)

Master.make_cake(self)

def make_school_cake(self):

School.init(self)

School.make_cake(self)

class Tusun(Prentice):

pass

xiaoqiu = Tusun()

print(xiaoqiu.money)

print(xiaoqiu.__money)

xiaoqiu.__info_print()

十九、修改私有属性的值


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

class Master(object):

def init(self):

self.kongfu = ‘[古法煎饼果子配方]’

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 29
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值