Kivy类内函数赋值全局变量报错,无法更新已定义全局变量
全局变量赋值语法错误修复及更新方法
你遇到的SyntaxError是因为Python中global关键字的使用规则:不能在声明全局变量的同时直接赋值,必须先单独声明变量为全局作用域,再执行赋值操作。
修正后的代码
def callback1(self, instance): global day, day_type, split # 先声明要操作的全局变量 day = self.user1.text day_type = self.user2.text split = self.user3.text current_day = ExcelEdit.split_def_start(day, day_type) Workout_app.screen_manager.current = "Input"
关键说明
global day, day_type, split这行代码明确告诉Python解释器:函数内部使用的这三个变量是来自全局作用域的,而非函数局部变量。- 声明完成后,再分别对变量赋值,就能正确更新类外部定义的全局变量了。
内容的提问来源于stack exchange,提问作者Ivan Anderies
相关产品推荐
相关产品推荐

