我有以下代码:
def func(self,e):
if x>0:
dlg = wx.MessageDialog(parent, "are you sure?", 'Warning!', wx.OK | wx.CANCEL| wx.ICON_WARNING)
result=dlg.ShowModal()
dlg.Destroy()
if result== wx.CANCEL:
return
win = FRMPOP(parent,data)
我的问题是:
if result== wx.CANCEL:
return
这个if语句是if x>0
的子语句,我打算return
将从func1
中退出,但是它没有,并且FRMPOP
正在被调用。看起来return
语句正好存在于if x>0
。
有没有办法改变if result== wx.CANCEL
使它退出func
?我知道我可以用旗子。你知道吗
比如:
flag=0
...
if result== wx.CANCEL:
flag=1
if flag==0:
win = FRMPOP(parent,data)
但我想知道是否有一种更具霸道/时尚的方式来做到这一点。我尝试了break
和continue
,但是我这里没有循环,所以它不会接受它们。你知道吗
wx.CANCEL
不是从^{所以,你需要
result == wx.ID_CANCEL
我建议采用以下逻辑:
减少函数返回的位置会使流更易于读取。另外,我假设您只希望在按下OK时运行函数,所以最好不要检查
ID_CANCEL
。你知道吗我猜您的return语句永远不会被调用,因为它肯定会终止函数。你知道吗
相关问题 更多 >
编程相关推荐