首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python函数怎么传引用,以修改某个变量

2012-03-22 
python函数如何传引用,以修改某个变量?比如:def add(str):str + bstraaaadd(str)print str我希望add

python函数如何传引用,以修改某个变量?
比如:

def add(str):
  str += 'b'

str='aaa'
add(str)
print str

我希望add之后str为'aaab'
但是以上结果则还是'aaa'
可见python虽说都是传引用,但其实还是传值的效果!!!!!!!!!!!


[解决办法]
那是因为str本身是一个不可改变的量
执行str+='b'后str的引用已经不是执行这条语句之前的那个引用了
你用可以改变的类型,比如列表,就可以在函数内部修改变量
[解决办法]
同意LS。再说了,一般的String对象传值就可以了,自定义的对象都是传引用过去的。
[解决办法]
[code=Python][/code]
def add(str):
str += 'b'
return str
str = 'aaa'
str = add(str)
print str
[解决办法]
global
[解决办法]

Python code
>>> class C(object):...     i = 10... >>> C<class '__main__.C'>>>> C.i10>>> def test(obj):...     obj.i = 100... >>> test(C)>>> C.i100
[解决办法]
引用不行就传值
Python code
> def add(str):    str+='b'    return strres=add(str)
[解决办法]
python新手同问
[解决办法]
def add(str):
global str //加上全局变量定义告诉add函数,str是外面的变量
str += 'b'
return str
str = 'aaa'
str = add(str)
print str
[解决办法]
是不是你定义的函数没有返回值,而且函数中str是局部变量!!
[解决办法]
把str 当做返回值 传出来

或者 global

热点排行