How to toggle a value in Python

后端 未结 17 969
梦谈多话
梦谈多话 2020-12-07 07:46

What is the most efficient way to toggle between 0 and 1?

17条回答
  •  庸人自扰
    2020-12-07 08:11

    Let's do some frame hacking. Toggle a variable by name. Note: This may not work with every Python runtime.

    Say you have a variable "x"

    >>> import inspect
    >>> def toggle(var_name):
    >>>     frame = inspect.currentframe().f_back
    >>>     vars = frame.f_locals
    >>>     vars[var_name] = 0 if vars[var_name] == 1 else 1
    
    >>> x = 0
    >>> toggle('x')
    >>> x
    1
    >>> toggle('x')
    >>> x
    0
    

提交回复
热议问题