也许是一个愚蠢的问题,但我注意到我的代码有很多这样的语句:
var = "some_string"
var = some_func(var)
var = another_func(var)
print var # outputs "modified_string"
这真让我讨厌,它看起来很糟糕(与整个python相反)
如何避免使用它并以这样的方式开始使用它:
var = "some_string"
modify(var, some_func)
modify(var, another_func)
print var # outputs "modified_string"
先感谢您
解决方法:
问题是str,int和float(如果你在Py 2.x中也是如此(True和False实际上是int,那么它们也是如此))就是你在Python中称为’immutable types’的东西.这意味着您无法修改其内部状态:str(或int或float)的所有操作都将导致str(或其他)的“新”实例,而旧值将保留在Python的缓存中直到下一个垃圾收集周期.
基本上,你无能为力.抱歉.
标签:python
来源: https://codeday.me/bug/20190530/1186956.html