我是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)

但strcpy似乎不起作用:
>>obj1=CString("Hello World")
>>obj2=CString("Hai World!")
>>puts(obj1)
Hello World!
>>puts(obj2)
Hai World!
>>strcpy(obj1,obj2)
>>puts(obj1)
Hello World!

我分配副本。副本(cstring2)错误吗?

最佳答案

线路

cstring1 = copy.copy(cstring2)

仅更改名为cstring1的局部变量,而不更改名为obj1的外部作用域中的变量。
查看this other stackoverflow question了解更多信息。

09-07 17:16