zoukankan      html  css  js  c++  java
  • 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 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 Parent func
    

    3、下面程序的执行结果是什么?为什么?

    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

  • 相关阅读:
    Appsacn 定期自动化扫描
    安全扫描工具 AppScan
    安全扫描工具 Netsparker
    Appium环境搭建
    selenium元素定位大全
    浅谈 WebDriver如何应对不同浏览器
    自动化环境搭建
    三次握手四次挥手
    通俗讲解python__new__()方法
    第十三章、元类之控制类的调用过程
  • 原文地址:https://www.cnblogs.com/tanxu05/p/9903882.html
Copyright © 2011-2022 走看看