亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以將多個變量傳遞給未在調用它的前一個函數中局部聲明(或全局聲明)的函數?

是否可以將多個變量傳遞給未在調用它的前一個函數中局部聲明(或全局聲明)的函數?

夢里花落0921 2021-12-29 18:25:09
在 python/Selenium 中,我有一個 web 自動化腳本,它使用 5 個單獨的函數來完成一個任務。函數調用鏈是線性的,因為每個調用鏈都依賴于最后一個執行。我遇到的問題是我不想全局聲明要在最終函數“checkout”中使用的所有變量。我不能在任何函數中輸入變量,因為它會延遲時間關鍵的函數。然而,我可以在計時器結束和程序開始之前接受這些。這些變量當前都是執行此操作的主函數的本地變量。在這樣做時,我必須通過每個函數傳遞所有 10 個變量,直到最后一個。有沒有辦法避免這種情況,而只是將變量“傳遞”給最終函數,盡管它們不是在前一個函數中全局或局部聲明的?
查看完整描述

1 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

您可以將所有函數作為方法放在一個類中,該類將這些變量保存為一種狀態,例如:


class MyRunner():


    def __init__(self, val1, val2, val3):

        self.val1 = val1

        self.val2 = val2

        self.val3 = val3


    def method1(self):

        print("Call of method 1", self.val1, self.val2, self.val3)


    def method2(self):

        print("Call of method 2", self.val1, self.val2, self.val3)


    def method3(self):

        print("Call of method 3", self.val1, self.val2, self.val3)



runner = MyRunner(10, 20, 30)

runner.method1()

runner.method2()

runner.method3()


查看完整回答
反對 回復 2021-12-29
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號