1、以下的代码的输出将是什么? 说出你的答案并解释。
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
1 2 1
3 2 3
本来x的值是影响下面的所有子类的。但是Child1子类中x重新赋值了,那么就不再会取父类中的x的值了。
2、
defextendList(val,list=[]):
list.append(val)
returnlist
list1 = extendList(10)
list2 = extendList(123,[])
list3 = extendList('a')
print("list1 = %s"% list1)
print("list2 = %s"% list2)
print("list3 = %s"% list3)
运行结果:
list1 = [10, 'a']
list2 = [123]
list3 = [10, 'a']
list1和list3操作的是同一个列表,li