python面试篇(一)

1.代码中要修改不可变数据会出现什么问题? 抛出什么异常?

代码不会正常运行,抛出TypeError 异常。

2.a=1,b=2,不用中间变量交换a 和b 的值?

  • 方法一:
1. a = a+b
2. b = a-b
3. a = a-b
  • 方法二:
1. a = a^b
2. b =b^a
3. a = a^b
  • 方法三:
1. a,b = b,a

3.print 调用Python 中底层的什么方法?

print 方法默认调用sys.stdout.write 方法,即往控制台打印字符串。

4.下面这段代码的输出结果将是什么?请解释?

class Parent(object):
    x = 1
class Child1(Parent):
    pass
class Child2(Parent):
    pass
print Parent.x, Child1.x, Child2.x
Child1.x = 2
print parent.x, Child1.x, Child2.x
parent.x = 3
print Parent.x, Child1.x, Child2.x

结果为:
1 1 1 #继承自父类的类属性x,所以都一样,指向同一块内存地址。
1 2 1 #更改Child1,Child1 的x 指向了新的内存地址。
3 2 3 #更改Parent,Parent 的x 指向了新的内存地址。

5.简述你对input()函数的理解?

在Python3 中,input()获取用户输入,不论用户输入的是什么,获取到的都是字符串类型的。
在Python2 中有raw_input()和input(), raw_input()和Python3 中的input()作用是一样的,
input()输入的是什么数据类型的,获取到的就是什么数据类型的。

你可能感兴趣的:(python面试篇(一))