Python函数传参的问题,怎么传变量

软件和网站开发以及相关技术探讨
回复
sanz
帖子: 1010
注册时间: 2006-09-29 5:11

Python函数传参的问题,怎么传变量

#1

帖子 sanz » 2010-04-30 23:35

python的传参传的是对象地址,而不是值。可是我就是要传递那个值,怎么办呢?

----------------------------------------------------------
def action(i):
print i #这里结果总是2

menus=[]
num=3
for i in range(num):
menus.append((u'%s'%i,lambda:action(i))) #这里就是定义菜单的动作的,就是定义怎么调用action的.情况是必须这样调用的.

-----------------------------------------------------------
Dell D620 -> Asus U44SG
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS
头像
速腾1994
论坛版主
帖子: 17379
注册时间: 2008-11-01 20:43
系统: Arch+gnome

Re: Python函数传参的问题,怎么传变量

#2

帖子 速腾1994 » 2010-05-01 8:59

:em20
头像
maivel
帖子: 293
注册时间: 2009-05-01 7:35

Re: Python函数传参的问题,怎么传变量

#3

帖子 maivel » 2010-05-01 9:22

理解不能 :em06
我这个人天生愚笨,体内装进一点点东西就会往外面冒,满地都是,一不小心就成了才华横溢。
sanz
帖子: 1010
注册时间: 2006-09-29 5:11

Re: Python函数传参的问题,怎么传变量

#4

帖子 sanz » 2010-05-01 19:09

还是老外比较好。告诉了我解决方法,虽然不是直接的。就是通过在函数里返回一个函数就可以了。
Dell D620 -> Asus U44SG
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS
回复