Python 中多行的返回语句
Return statement on multiple lines in Python
使用圆括号将 return 语句包裹在多行中。括在括号中的表达式可以跨越多行。PEP8 风格指南建议在反斜杠上使用括号。
主程序
# ✅ using parentheses def example(): return ('bobby' + 'hadz' + '.' + 'com') print(example()) # 👉️ bobbyhadz.com # ------------------------------------------ # ✅ using backslashes def example(): return 'bobby' + \ 'hadz' + \ '.' + \ 'com' print(example()) # 👉️ bobbyhadz.com
第一个示例将 return 语句括在括号中以使其跨越多行。
您可以想象括号中的代码被认为是同一行的一部分,并被视为单个表达式。
确保不要用逗号分隔括号中的值,除非您打算返回一个元组。
return
下面是一个使用布尔运算符的示例多行语句and
。
主程序
def example(): return ('hi' == 'hi' and len('hi') == 2 and 2 == 2) print(example())
可以使用相同的方法set
在多行上返回列表、a 或元组。
主程序
def example(): my_list = [1, 4, 25, 30] return [item for item in my_list if item > 10] print(example()) # 👉️ [25, 30]
该列表包含在方括号中,因此它可以跨越多行。
或者,您可以使用反斜杠使返回语句跨越多行。
主程序
def example(): return 'bobby' + \ 'hadz' + \ '.' + \ 'com' print(example()) # 👉️ bobbyhadz.com
根据官方
PEP8 风格指南,换行的首选方法是在圆括号、方括号和大括号内使用 Python 的隐式续行。
该指南不建议使用反斜杠来续行。
该指南还建议在布尔运算符和之后放置换行符。
and
or
尽管 PEP8 风格指南不鼓励使用反斜杠来续行,但它仍然是一种完全有效的语法。
主程序
def example(): return 'hi' == 'hi' and \ len('hi') == 2 and \ 2 == 2 print(example()) # 👉️ True
使用此方法时,请确保为最后一行条件添加额外的缩进。