我这里有两个文件,一个是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()中设置的None 如果我在MenuScreen类中打印p.playername,它会正确地打印出playername
我看到两个问题:
print
语句作为PlayerScreen
类主体的一部分执行。它缩进到错误的级别,成为__init__
方法的一部分您在代码的这一部分混合了制表符和空格,这可能是一个意外不要为缩进混合制表符和空格,您只会遇到更多问题,请将编辑器配置为将制表符扩展到空格
如果问题中的缩进不正确,并且
print
是__init__
方法的一部分,则必须在运行MenuScreen().login()
之前创建PlayerScreen()
实例,在设置播放名称之前触发print
相关问题 更多 >
编程相关推荐