写
是不好的做法num1=10
num2=10
if num2!=0: print(num1/num2)
else: print("Cannot divide by zero")
而不是
num1=10
num2=10
if(num2!=0):
print(num1/num2)
else:
print("Cannot divide by zero")
我个人更喜欢前者。您对视图的任何引用?
答案 0 :(得分:3)
您可以咨询Python style guide;以下条目适用:
通常不鼓励使用复合语句(同一行上的多个语句)。
是:
if foo == 'blah': do_blah_thing() do_one() do_two() do_three()
而不是:
if foo == 'blah': do_blah_thing() do_one(); do_two(); do_three()
和
虽然有时可以在小身体上放置if / for / while 同一行,永远不要为多子句语句执行此操作。还要避免 折叠如此长的线条!
而不是:
if foo == 'blah': do_blah_thing() for x in lst: total += x while t < 10: t = delay()
绝对不是:
if foo == 'blah': do_blah_thing() else: do_non_blah_thing() try: something() finally: cleanup() do_one(); do_two(); do_three(long, argument, list, like, this) if foo == 'blah': one(); two(); three()
您也不应该在条件周围使用括号,并在运算符周围添加空格。
在你的情况下,在Python中你也会使用异常处理而不是测试(请求宽恕而不是权限):
num1 = 10
num2 = 10
try:
print(num1 / num2)
except ZeroDisionError:
print("Cannot divide by zero")
答案 1 :(得分:1)
是和否。每the official style guide,应写成:
num1 = 10 # note whitespace
num2 = 10
if num2 != 0: # note absence of unnecessary parentheses
print(num1/num2)
else:
print("Cannot divide by zero")
我猜你具体问题的相关引用:
通常不鼓励使用复合语句(同一行上的多个语句)。
但是还有其他风格指南,最重要的是一致性。
答案 2 :(得分:-3)
当if / else子句之后有一个语句时,最好建议使用第一个选项。它再次取决于编码风格。第一种风格也经常用于三元类操作符/值操作。链接https://docs.python.org/2/tutorial/controlflow.html对您有用。