我正在尝试创建一个函数,当导入然后调用它时,它将检查和修改一个元组。我希望能够多次调用它。但是,我只是让函数返回新变量,因为我想不出一种方法来更改变量。
这是我的两个文件示例,我希望它如何工作:
**modifier.py**
import variable
def function(new_string):
if new_string not in variable.tuple:
variable.tuple = new_string, + variable.tuple
**variable.py**
import modifier
tuple = ('one','two',)
modifier.function('add this')
modifier.function('now this')
#--> tuple should now equal ('now this', 'add this', 'one', 'two',)
但是现在我必须这样做:
**modifier.py**
def function(tuple_old, new_string):
if new_string not in tuple_old:
return new_string, + tuple_old
**variable.py**
import modifier
tuple = ('one','two',)
tuple = modifier.function(tuple, 'add this')
tuple = modifier.function(tuple, 'now this')
#--> tuple now equals ('now this', 'add this', 'one', 'two',)
这要混乱得多。首先,我必须传入旧的元组值并获得返回值,而不是直接替换元组。它有效,但它不是干燥的,我知道必须有一种方法可以使这个更清洁。
我不能使用列表,因为这实际上是在我的 django 设置文件上更新我的中间件的功能。此外,我不必在不同的文件上使用该功能,但我也认为应该是可能的。