当前位置: 首页 > 科技观察

10道常见的Python面试题,这些你都不懂,别说你学过Python!

时间:2023-03-15 08:51:17 科技观察

概述Python是一种非常流行的编程语言。近年来随着机器学习、云计算等技术的发展,对Python职位的要求越来越高。下面我整理了10个Python面试官常问的问题,供大家参考学习。1、类继承有如下一段代码:如何调用A类的show方法,方法如下:obj.__class__=Aobj.show()类方法指向类对象,只需要赋值typeA给它,然后调用方法show,但是记得用完再修改。2.方法对象问题:需要添加什么代码才能让下面的代码运行起来?答:为了让对象实例能够被直接调用,需要实现调用方法3,new和init。以下代码的输入是什么?答:使用new方法,你可以决定返回哪个对象,也就是在创建对象之前,这个可以在设计模式中使用的单例和工厂模式。init被调用来创建一个对象。4.Pythonlist和dict生成下面的代码输出什么?答案:5.全局变量和局部变量下面的代码输出什么?答:99num不是一个全局变量,所以每个函数都有自己的num副本,如果要修改num,必须用global关键字声明。比如下面6.交换两个变量的值在一行代码中交换两个变量的值a=8b=9答案:(a,b)=(b,a)7.默认方法如下。代码方法fn1/fn2/fn3都是没有定义的,添加代码,没有定义的方法调用mydefault函数,上面的代码应该输出defaultdefaultdefaultanswer:方法getattr只有在方法没有定义的时候才会被调用。fn1方法传入参数时,我们可以在mydefault方法中加入一个*args可变参数,以实现兼容。8、包管理一个包中有mod1.py、mod2.py、mod3.py三个模块,但是使用fromdempackimport*导入模块时,如何保证只导入mod1和mod3。答:添加init.py文件,在文件中添加:__all__=['mod1','mod3']9.在闭包中写一个函数,接收整数参数n,返回一个函数。函数的作用是把函数的参数乘以n并返回结果。答:10、性能分析下面这段代码慢在哪里?答:Pythonstr是一个不可变对象。每次迭代,都会生成一个新的str对象来存储新的字符串。num越大,创建的str对象就越多。内存消耗越大。