簡體   English   中英

如何在函數python之間傳遞變量

[英]How do I pass a variable between functions python

這是我的兩個功能:

def selectBadge(a):
    curItem = SelectBadgeView.focus()
        inter_var = SelectBadgeView.item(curItem)
        ListValues = inter_var['values']
        print(ListValues)
        SelectedBadge.set("Selected Badge: "+str(ListValues[0]))
        SelectedBadgeStr=str(ListValues[0])
        return SelectedBadgeStr

def selectScout(a,SelectedBadgeStr):
print(a)
if SelectedPatrol.get()==("Selected Patrol: Please Select A Patrol"):
    tk.messagebox.showerror("ERROR","Please select a Patrol")
    return
if SelectedBadge.get()==("Selected Badge: Please Select A Badge"):
    tk.messagebox.showerror("ERROR", "Please select a Badge")
    return
print(SelectedBadgeStr)
return

我想將變量SelectedBadgeStrselectBadge()傳遞給selectScout()

變量a是tkinter樹視圖小部件使用的內部變量。

a = <ButtonRelease event state=Button1 num=1 x=144 y=39>

我努力了:

return SelectedBadgeStr

但是,這沒有用。

該函數的調用者:

SelectScoutView.bind('<ButtonRelease-1>', selectScout)

您是否在定義函數selectBadge(a)之前將SelectedBadgeStr聲明為空字符串?

所以就這樣聲明:

SelectedBadgeStr = ''

def selectBadge(a): curItem = SelectBadgeView.focus() . . .

它應該工作。

您還可以使用共享的全局變量:

  1. 在函數使用之外聲明變量:

    SelectedBadgeStr = None

  2. 在函數開始時使用:

    global SelectedBadgeStr

每當您現在在函數中使用變量時,就可以訪問全局變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM