首页 > 解决方案 > python tkinter 语法错误

问题描述

为什么我不能在 Class 中创建非局部变量。

这是代码--->

    from tkinter import *
     class Note:
         root = Tk()
         nonlocal font_size = 16
         def bigger(event):
             font_size+=5
         root.bind("<Shift-Up>", bigger)
         root.mainloop()

输出--->

           nonlocal font_size = 16
                       ^
           SyntaxError: invalid syntax

标签: python-3.xtkinter

解决方案


是的,nonlocal variable = value不是有效的语法。nonlocal,就像global,用于分别将名称“标记”为非本地和全局。它不是一种特殊形式的变量定义。您可以像这样将名称“标记”为非本地名称:

nonlocal variable

然后variable在代码中的某处使用。


推荐阅读