[迟到的万圣节向]可怕的python

什么?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创建对象的时机和绑定变量的方式还真是,有趣。。。

posted @ 2013-11-10 09:27  Chierush  阅读(482)  评论(0编辑  收藏  举报