Python面试题集答案(3)

来源:互联网 发布:手游英雄杀十连抽数据 编辑:程序博客网 时间:2024/05/17 09:18
5、Python里面如何拷贝一个对象?
a、copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。
b、copy.deepcopy 深拷贝 拷贝对象及其子对象
一个很好的例子:
>>> import copy
>>> a = [1, 2, 3, 4, ['a', 'b']]  #原始对象
>>> b = a  #赋值,传对象的引用
>>> c = copy.copy(a)  #对象拷贝,浅拷贝
>>> d = copy.deepcopy(a)  #对象拷贝,深拷贝
>>> a.append(5)  #修改对象a
>>> a[4].append('c')  #修改对象a中的['a', 'b']数组对象
>>> print 'a = ', a
>>> print 'b = ', b
>>> print 'c = ', c
>>> print 'd = ', d


输出结果:
a =  [1, 2, 3, 4, ['a', 'b', 'c'], 5]
b =  [1, 2, 3, 4, ['a', 'b', 'c'], 5]
c =  [1, 2, 3, 4, ['a', 'b', 'c']]
d =  [1, 2, 3, 4, ['a', 'b']]

此题答案来自http://www.jb51.net/article/15714.htm

6、Python中pass语句的作用是什么?
pass就是代表什么都不做。

a、在定义方法时,可以使用pass占位
例如
def sum():
    pass
这样在语句上就不会报错了

b、在while循环中
例如
while (True):
    pass
此时由于什么都不做是一个死循环。

0 0