我这里有2个文件,一个是player.py
class playerinfo:
def __init__(self):
self.playername=None
self.authtoken=None
在主文件中我有
from player import *
p=playerinfo()
class MenuScreen(Screen):
def __init__(self, **kwargs):
super(MenuScreen, self).__init__(**kwargs)
def login(self, Username, Passwd):
if logindata != "11":
p.playername=Username
p.authtoken=logindata[0]
class PlayerScreen(Screen):
def __init__(self, **kwargs):
super(PlayerScreen, self).__init__(**kwargs)
print(p.playername)
我的问题出现在PlayerScreen类中.p.playername返回为无在playerinfo()中设置 如果我在MenuScreen类中打印p.playername,它会正确打印出播放器名称。
答案 0 :(得分:1)
我看到两个问题:
$sql = 'UPDATE ...';
$update = $mysqli->query($sql);
语句作为print
类主体的一部分执行。它缩进到错误的级别,成为PlayerScreen
方法的一部分。
您正在混合代码的那一部分中的制表符和空格,这可能是一次意外。 不要混合标签和空格以进行缩进,您只会遇到更多问题,请将编辑器配置为将标签扩展到空格。
如果您的问题中的缩进不正确且__init__
是print
方法的一部分,那么您必须在__init__
之前创建PlayerScreen()
个实例运行,在设置播放器名称之前触发MenuScreen().login()
。