内容简介:原始代码面试要点:类继承,只要通过
第1题: 修改以下Python代码,使得下面的代码调用类A的show方法?
原始代码
class A(object): def run(self): print("基础 run 方法") class B(A): def run(self): print("衍生 run 方法 ") obj = B() obj.run() 复制代码
面试要点:
类继承,只要通过 __class__
方法指定类对象就可以了。
修改代码
class A(object): def run(self): print("基础 run 方法") class B(A): def run(self): print("衍生 run 方法 ") obj = B() obj.__class__ = A obj.run() 复制代码
第2题:修改以下Python代码,使得代码能够运行
原始代码
class A(object): def __init__(self,a,b): self.__a = a self.__b = b def show(self): print("a=",self.__a,"b=",self.__b) a = A(5,10) a.show() a(20) 复制代码
面试要点:
是方法对象,为了能让对象实例能被直接调用,需要实现 __call__
方法
修改代码
class A(object): def __init__(self,a,b): self.__a = a self.__b = b def show(self): print("a=",self.__a,"b=",self.__b) def __call__(self, num): print("call:",num + self.__a) a = A(5,10) a.show() a(20) 复制代码
第3题: 下面这段代码的输出是什么?
原始代码
class B(object): def __init__(self): print("B init") def run(self): print("B run func") class A(object): def run(self): print("A run func") def __new__(cls, a): print("new",a) if a>10: return super(A,cls).__new__(cls) return B() def __init__(self,a): print("init",a) a1 = A(5) a1.run() a2 = A(20) 复制代码
这个运行需要对代码比较熟悉了
结果如下
# a1 = A(5) new 5 B init # a1.run() new 5 B init B run func # a2 = A(20) new 5 B init B run func new 20 init 20 复制代码
第4题: 下面这段代码输出什么?
原始代码
num = 9 def fn1(): num = 20 def fn2(): print(num) fn2() # 9 fn1() # 啥都没有 fn2() # 9 复制代码
全局变量和局部变量。 num 不是个全局变量,所以每个函数都得到了自己的 num 拷贝,如果你想修改 num ,则必须用 global 关键字声明
第5题:如何添加代码,使得没有定义的方法都调用myfunc方法?
原始代码
class A(object): def __init__(self,a,b): self.a1 = a self.b1 = b print("初始化方法") def myfunc(self): print("myfunc") a1 = A(10,20) a1.fn1() a1.fn2() a1.fn3() 复制代码
修改代码
class A(object): def __init__(self,a,b): self.a1 = a self.b1 = b print("初始化方法") def myfunc(self): print("myfunc") def __getattr__(self, item): return self.myfunc a1 = A(10,20) a1.fn1() a1.fn2() a1.fn3() 复制代码
考点 python的默认方法, 只有当没有定义的方法调用时,才会调用方法 __getattr__
。 当 fn1 方法传入参数时,我们可以给 myfunc方法增加一个 *args 不定参数来兼容。
以上所述就是小编给大家介绍的《这几道Python面试题,稳准狠,Python面试题No15》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Python面试经验总结,面试一时爽,一直面试一直爽!
- 算法面试:数组编码面试问题
- 【面试虐菜】—— JAVA面试题(1)
- 如何面试-作为面试官得到的经验
- PHP面试之网络协议面试题
- 如何克服面试紧张心理 ?(面试答题篇Ⅲ)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
用户力:需求驱动的产品、运营和商业模式
郝志中 / 机械工业出版社 / 2015-11-1 / 59.00
《用户力:需求驱动的产品、运营和商业模式》从用户需求角度深刻阐释了互联网产品设计、网络运营、商业模式构建的本质与方法论! 本书以“用户需求”为主线,先用逆向思维进行倒推,从本质的角度分析了用户的需求是如何驱动企业的产品设计、网络运营和商业模式构建的,将这三个重要部分进行了系统性和结构化的串联,然后用顺向思维进行铺陈,从实践和方法论的角度总结了企业究竟应该如围绕用户的真实需求来进行产品设计、网......一起来看看 《用户力:需求驱动的产品、运营和商业模式》 这本书的介绍吧!