由于我目前对 Python 语法的理解,我遇到了一个问题,我需要将变量设置为一个值但不使用任何运算符。我必须使用函数。
考虑这个场景
class Senario:
x: str = ''
y: str = ''
set_global_variable(self, set_variable, val: str)
# some verification code and modifications
set_variable(val)
set_x(self, val: str)
self.set_global_variable(setX, val)
set_x(self, val: str)
self.set_global_variable(lambda new_x: self.x = new_x, val)
这样设置变量的好处是,添加一个新的变量不需要复制粘贴一堆新的setter方法的验证码。它更加模块化。问题是这样的程序不会运行,因为 lambda 不能使用运算符。
错误是self.set_global_variable(lambda new_x: self.x--> =<--new_x, val)
这不是正确的语法。为了运行这样的程序,我需要某种 equals 方法来完成与 = 运算符完全相同的事情。该实现将按如下方式工作。
set_x(self, val: str)
self.set_global_variable(lambda new_x: self.x.equals(new_x), val)
如果仅针对字符串,Python 中是否有内置方法可以执行此操作?如果没有,是否可以轻松编写一个方法?一个可以将变量作为输入并将该确切变量设置为新值的方法,而不是它的本地副本?
慕妹3242003
白猪掌柜的
眼眸繁星
相关分类