在一行上写 if 语句是否可以接受?
Is writing an if statement on one line acceptable?
我不确定这个问题是否适合这个社区,因为它更注重意见,所以如果不适合请投票关闭它。
我的问题是关于 Python 中的 if
语句(也许不仅仅是 Python)和样式。写成一行可以接受吗?我不是在谈论 something if condition else something-else
形式的三元运算符,而是当人们写:
if condition: do this
而不是
if condition:
do this
我很困惑,因为我总是被教导(并且个人认为这样更好)以第二种形式编写条件。但是,我发现很多人都是用第一种形式写的。
在什么情况下可以接受?我在网上找不到关于此主题的特定指南。
PEP 8(稍微向下滚动), Python 风格指南,不鼓励这样做:
Compound statements (multiple statements on the same line) are
generally discouraged.
Yes:
if foo == 'blah':
do_blah_thing()
do_one()
do_two()
do_three()
Rather not:
if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()
这是不鼓励的,但可以接受。两种方式都有效,并且执行时没有任何错误。
我不确定这个问题是否适合这个社区,因为它更注重意见,所以如果不适合请投票关闭它。
我的问题是关于 Python 中的 if
语句(也许不仅仅是 Python)和样式。写成一行可以接受吗?我不是在谈论 something if condition else something-else
形式的三元运算符,而是当人们写:
if condition: do this
而不是
if condition:
do this
我很困惑,因为我总是被教导(并且个人认为这样更好)以第二种形式编写条件。但是,我发现很多人都是用第一种形式写的。
在什么情况下可以接受?我在网上找不到关于此主题的特定指南。
PEP 8(稍微向下滚动), Python 风格指南,不鼓励这样做:
Compound statements (multiple statements on the same line) are generally discouraged.
Yes:
if foo == 'blah': do_blah_thing() do_one() do_two() do_three()
Rather not:
if foo == 'blah': do_blah_thing() do_one(); do_two(); do_three()
这是不鼓励的,但可以接受。两种方式都有效,并且执行时没有任何错误。