用Python复制对象?

pup*_*l07 3 python copy object

我是Python的新手,所以我尝试编写一个类来模拟C中的字符串函数:

class CString:

  def __init__(self,str):
        self.value=[]
        self.value.extend(list(str))

def strcpy(cstring1,cstring2):
      import copy
      cstring1=copy.copy(cstring2)

def puts(cstring1):
    print ''.join(cstring1.value)
Run Code Online (Sandbox Code Playgroud)

但strcpy似乎没有起作用:

>>obj1=CString("Hello World")
>>obj2=CString("Hai World!")
>>puts(obj1)
Hello World!
>>puts(obj2)
Hai World!
>>strcpy(obj1,obj2)
>>puts(obj1)
Hello World!
Run Code Online (Sandbox Code Playgroud)

我错误地分配了copy.copy(cstring2)吗?

srg*_*erg 5

这条线

cstring1 = copy.copy(cstring2)
Run Code Online (Sandbox Code Playgroud)

只改变了当地称为变量cstring1,它并没有在所谓的外部范围改变变量obj1.

有关更多信息,请查看此其他stackoverflow问题.