【问题标题】:globally switching a boolean using a function in python使用python中的函数全局切换布尔值
【发布时间】:2020-09-28 19:27:58
【问题描述】:

我的目标是创建一个将全局布尔值作为参数并翻转其值的函数。

我正在使用一个函数来启动全局参数。

我想出了一种方法来实现我想在我的项目中实现的功能,但是这样的功能会更有效率。

我认为它与范围有关,但我不确定如何在 python 中正确实现它...请帮助!

def boolswitch(boolean: bool):
   if boolean == True:
        boolean = False
   else:
       boolean = True


def initiate():
    global x, y
    x = True
    y = False


initiate()

print(x)
boolswitch(x)
print(x)

print(y)
boolswitch(y)
print(y)

它对争论没有任何作用,我尝试了大多数事情......

【问题讨论】:

  • 这是在上课吗?发起的目的是什么?
  • initial 的目的是复制我在项目中发现自己的类似情况。这不在课堂上。
  • boolswitch 不能工作,因为它需要一个 ,而不是变量,作为参数。对boolswitch(True)有什么作用,试试把True的值改成False
  • 如果你需要这样做,你可能需要重新考虑你的代码结构。也许你正在以错误的方向思考这个问题。不过,我们可能需要更多详细信息来帮助您。

标签: python function scope global


【解决方案1】:

想如果我重新评估x = boolswitch(x)(将return boolean 添加到函数中)它可以工作...我仍然想知道是否有一种方法可以在不重新分配变量的情况下使其工作...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    相关资源
    最近更新 更多