1

最初に文字列を宣言する関数があります。

def ran_network_listen(access_point_id, mode):
    current_uarfcn = "10650"
    ran_update_uarfcn = "upd ap" + " " + access_point_id + " " + "uarfcn=" + current_uarfcn 
    //etc

関数の後半で、複数の場所で の値を変更しますcurrent_uarfcnran_update_uarfcn次に、別の関数に渡します。現在 ran_update_uarfcn、それに設定されている元の値が含まれています。10650ですから、私はいつも通り過ぎます。

current_uarfcn = "11000"
proc_stdout = ran_cmd(ran_update_uarfcn)

以下のように関数に渡すたびに元の文字列を定義することなく、元の文字列を更新する方法はありますか?

current_uarfcn = "11000"
ran_update_uarfcn = "upd ap" + " " + access_point_id + " " + "uarfcn=" + current_uarfcn
proc_stdout = ran_cmd(ran_update_uarfcn)

これは、何度も行う必要がある場合に面倒です。元の文字列が更新されることを望んでいました。

4

3 に答える 3

1

内部関数を定義するset_current_uarfcn(value)

current_uarfcn = ""
ran_update_uarfcn = ""

def ran_network_listen(access_point_id, mode):
  def set_current_uarfcn(value):
    global current_uarfcn
    global ran_update_uarfcn
    current_uarfcn = value
    ran_update_uarfcn = "upd ap" + " " + access_point_id + " " + "uarfcn=" + current_uarfcn 
  set_current_uarfcn("10650")
  //etc

その後、関数の後半で、次のように記述できます。

set_current_uarfcn("11000")
proc_stdout = ran_cmd(ran_update_uarfcn)
于 2013-04-23T10:46:00.050 に答える