我在一個函式中創建了一個變數conID,我想在另一個函式中使用它。這兩個函式都在一個類中。
問題是在第二個函式中,第一個函式被呼叫。
問題是在第二個函式中,第一個函式被呼叫,所以self.reqSecDefOptParams呼叫第一個函式。之后,conID收到它的值。如果我試圖在第二個函式中輸出condID,我不能,它說它的值仍然是None。有沒有一種方法可以先呼叫第一個函式,然后在同一個函式中輸出值?
第一個函式:
def contractDetails(self, reqId: int, contractDetails: ContractDetails)。)
string = str((contractDetails))
letter_list = string.split(",")
print(letter_list)
conID = letter_list[90] # 我需要的變數。
第二個函式:
def start(self)。
# 再次使用該變數。
self.reqSecDefOptParams(1, contract.symbol, ""/span>, "STK", conID)
uj5u.com熱心網友回復:
歡迎 @LaForge1071! 你有幾種方法可以做到這一點! 一種方法是將變數傳遞給新的函式,就像這樣
你可以這樣做
def func_a()。
foo = 'bar'/span>
func_b(foo)
def func_b(var)。
print(var)
func_a()
或者,我不推薦這樣做,你可以使用全域范圍來解決這個問題,就像這樣,
或者,我不推薦這樣做,你可以使用全域范圍。
def func_a()。
global foo
foo = 'bar': foo
func_b()
def func_b()。
print(foo)
func_a()
uj5u.com熱心網友回復:
你說這兩個函式都在一個類中,所以也許可以宣告這個變數是一個類的變數:
class A。
def __init__(self):
self.foo = None.
def func_a(self)。
self.foo = "Hello"。
def func_b(self)。
if self.foo is not None:
print(self.foo)
uj5u.com熱心網友回復:
你可以在init函式中宣告這個變數,就像c/c 中的建構式一樣。
def __init__(self)。
self.foo = init_value
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/326642.html
標籤:
