【问题标题】:Passing a string to function in python [duplicate]将字符串传递给python中的函数[重复]
【发布时间】:2020-10-18 18:36:22
【问题描述】:

我有接下来的两个功能:

    def encrypt(self, text):
        for i in range(len(text)):
            text = text[:i] + self.letters[self.letters.index(text[i]) + self.key] + text[i+1:]

    def decrypt(self, text):
        for i in range(len(text)):
            text = text[:i] + self.letters[self.letters.index(text[i]) - self.key] + text[i+1:]

我希望他们就地处理字符串。我该怎么办?

【问题讨论】:

  • 请编辑并提出问题。不明白你的意思
  • 你不能就地改变字符串 - 字符串在 python 中是不可变的 - 你只能创建一个新字符串
  • @Ekure 你不明白什么?我完全理解它。也许你错过了最后一句话?

标签: python python-3.x


【解决方案1】:

在 Python 中,字符串是不可变的。您不能覆盖不可变对象的值。但是,您可以重新分配变量。

【讨论】:

  • 但是无效。在python中有类似通过引用(c++)传递的东西,不是吗?
  • 参数通过赋值传递。如果将不可变对象传递给方法,仍然无法重新绑定外部引用,甚至无法改变对象。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-25
  • 1970-01-01
  • 2018-08-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多