Python 简化此二进制变量的更改

Python 简化此二进制变量的更改,python,Python,在编写代码时,我多次发现以下情况: def Mwindow_stayontop(self, event): if CFG["AlwOnTop"] == 1: self.SetWindowStyle(wx.DEFAULT_FRAME_STYLE) CFG["AlwOnTop"] = 0 else: self.SetWindowStyle(wx.DEFAULT_FRAME_STYLE | wx.STAY_ON_TOP)

在编写代码时,我多次发现以下情况:

def Mwindow_stayontop(self, event):
    if CFG["AlwOnTop"] == 1:
        self.SetWindowStyle(wx.DEFAULT_FRAME_STYLE)
        CFG["AlwOnTop"] = 0
    else:
        self.SetWindowStyle(wx.DEFAULT_FRAME_STYLE | wx.STAY_ON_TOP)
        CFG["AlwOnTop"] = 1
有人能想出一个更简单的方法吗?我尝试使用SIN和COS在0和1之间交替使用该值,但无法

想法

完整的功能可以是:

def Mwindow_stayontop(self, event):
    CFG["AlwOnTop"] = 1 - CFG["AlwOnTop"]
    self.SetWindowStyle(wx.DEFAULT_FRAME_STYLE | CFG["AlwOnTop"]*wx.STAY_ON_TOP)
虽然有些人可能认为过于紧凑。

完整的功能可以是:

def Mwindow_stayontop(self, event):
    CFG["AlwOnTop"] = 1 - CFG["AlwOnTop"]
    self.SetWindowStyle(wx.DEFAULT_FRAME_STYLE | CFG["AlwOnTop"]*wx.STAY_ON_TOP)

虽然有些人认为过于压缩。

这里有一个简短的版本:

def Mwindow_stayontop(self, event):
    CFG["AlwOnTop"] = not CFG["AlwOnTop"]
    self.setWindowStyle(wx.DEFAULT_FRAME_STYLE | 
                        (wx.STAY_ON_TOP if CFG["AlwOnTop"] else 0))

如果你想把ALOWONTHOST看作一个布尔属性,你可以使用0是假的事实,1是对你有利的事实。代码>非将交替状态。

以下是一个简短版本:

def Mwindow_stayontop(self, event):
    CFG["AlwOnTop"] = not CFG["AlwOnTop"]
    self.setWindowStyle(wx.DEFAULT_FRAME_STYLE | 
                        (wx.STAY_ON_TOP if CFG["AlwOnTop"] else 0))

如果你想把ALOWONTHOST看作一个布尔属性,你可以使用0是假的事实,1是对你有利的事实。代码>非将交替状态