本系列文章素材,题目来源于真实企业笔试题,具体哪来的?平时多水群就好
第一题
下图中的打印结果分别是什么?
第二题
Python中静态方法、类方法、成员函数作用是什么?
第三题
说说对缺省参数的理解?* args是什么?** kwargs是什么?
答案
第一题
前三个是True,最后一个会报错。
具前三个为什么输出True,不了解的可以参考下图:
图来源于bobby老师的异步IO编程课件
最后一个为什么报错,我们可以先看下issubclass
的用法:
issubclass方法用于判断参数 class 是否是类型参数 classinfo 的子类 issubclass(class, classinfo) 参数 class -- 类。 classinfo -- 类。 返回值 如果 class 是 classinfo 的子类返回 True,否则返回 False。 以上内容参考:菜鸟教程 - http://www.runoob.com/python/python-func-issubclass.html
而在题目中b并不是一个类,所以报错。
第二题
我们先理清楚静态函数、类函数分别是什么?
静态方法是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作。使用装饰器@staticmethod定义静态方法。类对象和实例都可以调用静态方法。
类方法是将类本身作为对象进行操作的方法。类方法使用@classmethod装饰器定义,其第一个参数是类,约定写为cls。
代码实例可以参考:https://blog.csdn.net/baidu_20351223/article/details/80160868
第三题
缺省参数是指在调用函数的时候没有传入参数的情况下,调用默认的参数,在调用函数的同时赋值时,所传入的参数会替代默认参数。
*args 是不定长参数,可以表示输入参数是不确定的,可以任意多个
** kwargs 是关键词参数,赋值的时候是以键 = 值 的方式,参数是可以任意多对。
以上两个的使用是在定义函数的时候不确定会传入多少参数时使用。
小结
有读者朋友在后台留言,面试题怎么这么简单,说实话,我认真翻了10几份面试题,每一份的题量都不多,其中大部分都是这类基础题,少部分是专业导向比较强的题目和面试的岗位相关,剩下一部分就是算法与数据结构相关的题目。所以咸鱼觉的打好基础才是通关笔试的第一步,当然像宇宙条那种通篇算法题的笔试题也有,这里就刨除这些另谈了。