概况
Python是一种非常受欢迎的编程语言,随着近年来机器学习、云计算等技术的发展,Python的定位需求越来越高。 以下,收集Python面试官经常听到的10个问题,作为参考来学习吧。
类继承
这些代码包括
如何调用a类的show方法。
方法如下:
__ class__方法指向类对象,仅指定类型a并调用方法show,但不记得已经更改。
方法对象
问:为了执行下面的代码,需要添加哪些代码?
答案:必须实现__call__方法,才能直接调用目标实例
new和init
下面的代码输入什么?
答案:
使用__new__方法,您可以返回到该对象,也就是说,在创建对象之前,它可以用于设计模式的示例和工厂模式。 __init__被调用以创建对象。
生成Python list和dict
下面的代码输出什么?
答案:
全局变量和局部变量
下面的代码输出什么?
答案:
由于num不是全局变量,因此每个函数必须获取自己的num副本,并且在修改num时必须使用global关键字进行声明。 例如如下所示
0
交换两个变量的值
一行代码交换两个变量值
答案:
默认方法
下面的代码
方法fn1/fn2/fn3未定义,即使添加了代码,未定义的方法也必须调用mydefault函数并输出上述代码
答案:
方法__getattr__只有在没有定义的方法调用时才被调用。 当fn1方法传递参数时,可以将*args不定参数添加到mydefault方法中以使其兼容。
软件包管理
一个包中有三个模块mod1.py,mod2.py,mod3.py,但如果使用from demopack import *导入模块,则如何确保仅导入mod1和mod3。
回答:添加__init__.py文件并将其添加到文件中
闭包
写函数,接受整数参数n,返回函数。 函数的功能是将函数的参数与n相乘以返回结果。
答案:
性能
分析以下代码较慢的位置
答: python的str是不变的对象,每次迭代都会生成新的str对象,并存储新的字符串,num越大,所创建的str对象越多,内存消耗越大。