インポートして呼び出したときにタプルをチェックして変更する関数を作成しようとしています。私はこれを複数回呼び出すことができるようにしたいと思います。しかし、変数を変更する方法を見つけることができないので、関数に新しい変数を返すようにするだけです。しかし、今、私はこれをしなければならないインポートされた関数によるPythonの変更変更
**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',)
これは、多くのメシエある
は、ここで私はそれが動作したい方法を2つのファイルと私の例です。まず、タプルを直接置き換えるのではなく、古いタプルの値を渡して戻り値を取得する必要があります。それは動作しますが、DRYではなく、私はこのクリーナーを作る方法がなければならないことを知っています。
これは実際には私のミドルウェアを私のdjango設定ファイルで更新するためのものなので、リストを使うことはできません。また、私はに別のファイルに関数を持たせることを持っていないが、私はそれが可能でなければならないと考えている。
最初のブロックのコードを試しましたか? –
タプルを変更することはできません。 – wim
あなたは循環インポートを持っています – wim