Python中多行的返回语句

使用括号将 return 语句包装在多行上。 括在括号中的表达式可以跨越多行。 PEP8 样式指南建议在反斜杠上使用括号。

# ✅ using parentheses
def example():
    return ('fql' +
            'zadmei' +
            '.' +
            'com')


print(example())  # 👉️ fqlzadmei.com

# ------------------------------------------

# ✅ using backslashes
def example():
    return 'fql' + \
        'zadmei' + \
        '.' + \
        'com'


print(example())  # 👉️ fqlzadmei.com

Python中多行的返回语句

第一个示例将 return 语句包装在括号中,使其跨越多行。

确保不要用逗号分隔括号中的值,除非我们打算返回一个元组。

这是一个使用布尔值和运算符的示例多行返回语句。

def example():
    return ('hi' == 'hi' and
            len('hi') == 2 and
            2 == 2)


print(example())

可以使用相同的方法在多行上返回列表、集合或元组。

def example():
    my_list = [1, 4, 25, 30]

    return [item for item in my_list
            if item > 10]


print(example())  # 👉️ [25, 30]

该列表包含在方括号中,因此它可以跨越多行。

或者,我们可以使用反斜杠使 return 语句跨越多行。

def example():
    return 'fql' + \
        'zadmei' + \
        '.' + \
        'com'


print(example())  # 👉️ fqlzadmei.com

根据官方 PEP8 样式指南,包装长行的首选方法是在括号、方括号和大括号内使用 Python 的隐含行延续。

该指南不建议使用反斜杠来续行。

尽管 PEP8 样式指南不鼓励使用反斜杠来续行,但它仍然是一种完全有效的语法。

def example():
    return 'hi' == 'hi' and \
        len('hi') == 2 and \
        2 == 2


print(example())  # 👉️ True

使用这种方法时,请确保为最后一行条件添加额外的缩进。