我有以下方法:Python。如何采取自定义类型的对象从* ARGS
def _loginEventHandler(cmdID, *args):
if cmdID == Login.LOGIN_LOGED:
user = args[0]
print("User",user.userTypeID,"logged in")
该方法被称为像这样从不同的模块:
user = User(nUserSelected)
_loginEventHandler(Login.LOGIN_LOGED,user)
解释抛出一个AttributeError:
file "/main.py", line 79, in _loginEventHandler print("User",user.userTypeID,"logged in") AttributeError: 'tuple' object has no attribute 'userTypeID'
问题是什么是从正确的方式采取参数*参数(特别是如果他们是自定义类型像“用户”),为什么它采取从args中取出元组[0]
您的打印语句有一个元组。也许你想删除括号。 – Marichyasana