我来举个例子
像下面,我把全局变量写在函数外面,导致func函数里得不到变量

正确做法应该是在函数内引入全局变量,利用global关键字

请注意!由于+1的操作导致全局变量发生改变,可能会影响到其他引用全局变量的地方。这点要注意。
还有另一个要注意的点,全局变量和局部变量的同名问题
如果函数内部的局部变量和全局变量同名,局部变量会遮蔽全局变量。

还有另一个问题,就是全局变量的内存管理
全局变量在程序的整个运行期间都占用内存。如果全局变量存储了大量的数据,它们可能会增加程序的内存占用。因此,要合理使用全局变量,避免不必要的全局变量定义,可以减少内存的使用。
也可以使用类属性来代替全局变量
