-1

我试图通过将值传递给另一个函数但不附加来将一个字符串添加到另一个字符串。

def test2(s1,s2):
   s1 = s1+s2
   s1 = 'z'+s1
   return len(s1)

def test(s1,s2):
   i = test2(s1,s2)
   print(i)
   print(s1)

String1 = raw_input()
String2 = raw_input()

test(String1, String2)

输入 -a,b 预期输出 -3, zab

但我得到 -3,a

4

2 回答 2

3

Python 中没有“通过引用传递”之类的东西,字符串对象是不可变的,因此您无法修改传递给函数的字符串。

于 2013-02-18T22:03:16.170 回答
-2

如果您真的想处理通过引用传递的对象,您可以使用列表。然后对您的程序进行小幅修改

def test2(s1,s2):
   s1.extend(s2)
   s1.insert(0,'z')
   return len(s1)

def test(s1,s2):
   i = test2(s1,s2)
   print(i)
   print(s1)

String1 = list(raw_input())
String2 = list(raw_input())

test(String1, String2)
于 2013-02-18T22:06:53.687 回答