如果python函数返回多个值,我如何使用它返回的内容?

所以我有这个代码:


def validate_username(username):

    find_username = cursor.execute("SELECT username FROM user WHERE username = ?", (username, ))

    if find_username.fetchone() is not None:

        username_is_valid = False

        invalid_reason = 'Username already exists'

    elif len(username) > 255:

        username_is_valid = False

        invalid_reason = 'Invalid format'

    elif not match(r"[^@]+@[^@]+\.[^@]+", username):

        username_is_valid = False

        invalid_reason = 'Username must be an email address'

    else:

        username_is_valid = True

        invalid_reason = None

    return username_is_valid, invalid_reason

因此,显然,它将返回其中一个:


(False, 'Username already exists')

(False, 'Invalid format')

(False, 'Username must be an email address')

(True, None)

现在我想做的是将这两个参数传递到变量中,以便它们可以重用,打印等,但由于某种原因,我无法真正找到如何在线进行;我假设是因为我没有正确地表达我的问题。也许这里有人可以提供一些指导?


基本上,这里的目标是使用用户名运行函数,然后如果用户名无效,请打印为什么它无效,如果它有效,则继续。


开心每一天1111
浏览 124回答 1
1回答

慕田峪7331174

只需将输出分配给两个变量,如下所示:username_is_valid, invalid_reason = validate_username(username)或者,如果将输出分配给单个变量,则可以使用切片访问其元素:username_validation = validate_username(username)username_is_valid = username_validation[0]invalid_readon = username_validation[1]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python