上QQ阅读APP看书,第一时间看更新
2.6 代码缩进和代码块
代码逻辑的组织需要有清晰的边界,不同的编程语言用不同的方式来划分代码块的边界,比如在Java/C#/C++中,最常见的是用花括号。
// Java/C++ way of grouping code blocks if (enough_money) { buyHouse(); buyCar("Toyota"); buyCar("Ferrari"); }
Python的设计更加简洁,用代码行的缩进(indentation)来进行代码块边界的划分。
if enough_money: buy_house() buy_car('Toyota') buy_car('Ferrari')
如果缩进出错,可能导致意外的结果,如下面的代码所示。
if enough_money: buy_house() buy_car('Toyota') buy_car('Ferrari')
Python的代码缩进可以用Tab,也可以用空格,但是两者不能混用。因为很多代码编辑器里允许用户指定Tab等价于几个空格,也就是说,一个Tab到底等于几个空格其实是可以配置的。这样的话,同一份代码在不同的编辑器里可能会解析成不同的代码逻辑,这是不可接受的。
代码块可以嵌套,代码的层次关系仍然是依靠缩进来控制的。
if enough_money: buy_house() if low_profile: buy_car('Toyota') else: buy_car('Ferrari')
在写Python判断语句的时候,有不少程序员会不自觉地加上括号。
if (age < 20): print('too young to get married!')
这通常是因为程序员有其他语言(比如Java)的编程经验,并且把其他语言的编程习惯带到Python代码中来了。这么做没有语法错误,Python接受但不建议这样的代码风格。这里出现的括号增加了字数,但是并没有为代码功能或者可读性做出贡献,应该避免:
if age < 20: print('too young to get married!')