ugorek Asked:2023-08-31 17:18:03 +0000 UTC2023-08-31 17:18:03 +0000 UTC 2023-08-31 17:18:03 +0000 UTC Python:如何编写更高一级的范围? 772 这是一个简化的示例: def Bbb(): aaa = False def Ccc(): aaa = aaa or True Ccc() print(aaa) Bbb() 我想让它print()发行True。如何在Python中正确地做到这一点? python 2 个回答 Voted Best Answer Acinit 2023-08-31T17:19:36Z2023-08-31T17:19:36Z 使用nonlocal def Bbb(): aaa = False def Ccc(): nonlocal aaa aaa = aaa or True Ccc() print(aaa) Bbb() 终端输出 True 该关键字nonlocal用于指示您想要更改外部函数中变量的值,而不是创建一个具有相同名称的新局部变量。 ps这就是你在 Python 中可以做到的方法 def Bbb(): aaa = False def Ccc(aa): aa = aa or True return aa aaa = Ccc(aaa) # Вызываем функцию Ccc() для изменения значения aaa print(aaa) Bbb() CameL 2023-08-31T17:25:43Z2023-08-31T17:25:43Z 为什么不将其aaa作为参数传递给函数Ссс,然后从函数返回 def Bbb(): aaa = False def Ccc(aaa): aaa = aaa or True return aaa return Ccc(aaa) print(Bbb())
使用
nonlocal终端输出
该关键字
nonlocal用于指示您想要更改外部函数中变量的值,而不是创建一个具有相同名称的新局部变量。ps这就是你在 Python 中可以做到的方法
为什么不将其
aaa作为参数传递给函数Ссс,然后从函数返回