嗨我有修补程序列表框调用的函数 所以我无法从中返回价值 基本上我有一个全局对象,我想在一个函数内分配它 我怎么能这样做
rlink = ('http://stackoverflow', 'pastbin.com', 'unix.com')
clink = ' '
# the function
def listbinding(*args):
idxs = reslinkbox.curselection()
idx = int(idxs[0])
clink = rlink[idx]
我想链接[idx]以分配给作为全局对象的clink 我无法调用该函数,tkinter listbox调用该函数,因此我无法从中返回clink
答案 0 :(得分:3)
使用global
关键字。
rlink = ('http://stackoverflow', 'pastbin.com', 'unix.com')
clink = ' '
def listbinding(*args):
global clink
idxs = reslinkbox.curselection()
idx = int(idxs[0])
clink = rlink[idx]
<obligitory>
使用像这样的全局变量通常不是一个坏主意,因为它会模糊整个模块中的程序状态,而不是将其分解为漂亮的离散块。防止这是名称空间的全部目的。许多计算机科学家花了很多年的辛苦,吃力不讨好的工作来为你带来这些知识。</obligitory>