码迷,mamicode.com
首页 > 编程语言 > 详细

python 两个面试题

时间:2018-11-04 14:50:24      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:属性   image   append   类型   python   内存   面试   end   调用   

 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 两个面试题

标签:属性   image   append   类型   python   内存   面试   end   调用   

原文地址:https://www.cnblogs.com/tanxu05/p/9903882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!