什么?python简单易懂好学可读性高灵活耐用扩展好?
预测下面几个小段落的输出,来看看这个能过几关?
============================
Stage 1
预测下列输出
def add_list(p):
p = p + [1]
p1=[1,2,3]
add_list(p1)
print p1
def add_list(p):
p += [1]
p2=[1,2,3]
add_list(p2)
print p2
==============================
Stage 2
预测输出
a=[]
b={'num':0,'sqr':0}
for i in [1,2,3]:
b['num']=i
b['sqr']=i*i
a.append(b)
print a
================================
Stage 3
预测输出
def add_to_list(l, sth=[]):
l.append(sth)
x=[]
add_to_list(x)
add_to_list(x)
add_to_list(x)
x[0]=10
print x
==================================
Stage 4
预测输出
def add1(x=[]):
x.append(1)
print x
print add1()
print add1()
print add1()
===================================
Stage 5
预测输出
a=[[0]*10]*10
a[0][0]=10
print a
b=[[0 for c in range(5)] for r in range(5)]
b[0][0]=10
print b
=====================================
Stage 6
预测输出
a=[1,2,3,4,[5,6]]
b=list(a)
b[0]=10
print b
print a
b[4][1]=99
print b
print a
python创建对象的时机和绑定变量的方式还真是,有趣。。。