Python 出于某种原因,我的代码认为全局变量是局部变量
所以我在做一个基本的应用程序,按下一个按钮,它把数字加到总数上,总数是一个全局变量,但程序认为它是一个局部变量Python 出于某种原因,我的代码认为全局变量是局部变量,python,kivy,Python,Kivy,所以我在做一个基本的应用程序,按下一个按钮,它把数字加到总数上,总数是一个全局变量,但程序认为它是一个局部变量 totalCarbs = 0 apple = 12 def addCarbsToTotal(food): if food == "Apple": print("Apple") totalCarbs += apple print(totalCarbs) 以下是代码,如有任何帮助,将不胜感激。您需要指定函数中变量的全局范围: totalC
totalCarbs = 0
apple = 12
def addCarbsToTotal(food):
if food == "Apple":
print("Apple")
totalCarbs += apple
print(totalCarbs)
以下是代码,如有任何帮助,将不胜感激。您需要指定函数中变量的全局范围:
totalCarbs = 0
apple = 12
def addCarbsToTotal(food):
global totalCarbs, apple
if food == "Apple":
print("Apple")
totalCarbs += apple
print(totalCarbs)
您需要指定函数中变量的全局范围:
totalCarbs = 0
apple = 12
def addCarbsToTotal(food):
global totalCarbs, apple
if food == "Apple":
print("Apple")
totalCarbs += apple
print(totalCarbs)
总碳水化合物(本地)=总碳水化合物(全球)+苹果
你可以这样做
def addCarbsToTotal(food):
global totalCarbs
if food == "Apple":
print("Apple")
totalCarbs += apple
print(totalCarbs)
总碳水化合物(本地)=总碳水化合物(全球)+苹果
你可以这样做
def addCarbsToTotal(food):
global totalCarbs
if food == "Apple":
print("Apple")
totalCarbs += apple
print(totalCarbs)
您必须使用
global totalCarbs
内部函数-当您想使用=
、+=
等更改外部变量的值时,需要使用该函数。但当您只想从外部值获取值时,不需要该函数。顺便说一句:Kivy通常使用类,所以您可能应该将函数和变量保留在类中,并使用self。
而不是使用全局变量,将totalCarbs
作为参数传递并返回它。规则非常简单:如果在函数体中的任何位置分配变量(使用=
,+=
),则该变量被视为局部变量,除非您将其声明为global
。您必须在函数内部使用global totalCarbs
——当您想使用=
,+=
等更改外部变量中的值时,需要使用该函数。但当您只想从外部值中获取值时,不需要该函数。顺便说一句:Kivy通常使用类,所以您可能应该将函数和变量保留在类中,并使用self。
而不是使用全局变量,将totalCarbs
作为参数传递并返回它。规则非常简单:如果在函数体的任何位置分配变量(使用=
,+=
),则该变量被视为局部变量,除非将其声明为全局
。