python 两个面试题
Posted tanxu05
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 两个面试题相关的知识,希望对你有一定的参考价值。
1、下面程序的运算结果是什么??
class Parent: def func(self): print("In Parent func") def __init__(self): self.func() class Son(Parent): def func(self): print("In Son func") son1 = Son()
执行结果:
In Son func
结果分析: 创建son1对象时,自动调用类的__init__方法,但是Son类中没有这个方法,则去找他的父类的__init__方法;执行父类的__init__方法,即self.func(),此时,这个self是son1对象,则先找其对应的类Son中有无func方法,如果有,则执行,如果没有,则继续寻找父类。
2、下面程序的执行结果是什么?为什么?
class A: name = [] #可变的数据类型 p1 = A() p2 = A() p1.name.append(1) print(p1.name) print(p2.name) print(A.name)
执行结果:
[1] [1] [1]
结果分析:name是一个可变的数据类型,在类A中存放的是name的地址。当对象p1修改name属性时,实际上是修改的内存中的name
以上是关于python 两个面试题的主要内容,如果未能解决你的问题,请参考以下文章
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段