官术网_书友最值得收藏!

本書中的代碼示例以以下字體顯示:

>>> def square(x):
...     return x * x
...

一些實例代碼保存在文件中,其他的例如上面的代碼來自于交互式Python會話。在這種交互的情況下,我們會包含Python會話中的提示,如三箭頭>>>和三點…提示。你不需要鍵入這些箭頭或點。同樣,對于操作系統的shell命令,在Linux、macOS、類UNIX系統以及一些對于手頭的任務不重要的特定操作系統上,我們將使用一個提示符$(字體原因,導致全書字形有異):

$ python3 words.py

在這種情況下,你無須輸入$字符。

對于特定的Windows命令,我們將在最前面使用一個大于號提示:

> python words.py

同樣,這里不需要輸入>字符。對于需要放置在文件中,而不是以交互方式輸入的代碼塊,我們將不加任何前置提示,直接顯示代碼:

def write_sequence(filename, num):
    """將Recaman序列寫入文本文件"""
    with open(filename, mode='wt', encoding='utf-8') as f:
        f.writelines("{0}\n".format(r)
            for r in islice(sequence(), num + 1))

我們努力確保書中的代碼行足夠短,以便每個邏輯代碼行對應于書中的單一實體代碼行。然而,發布到不同設備上的電子書的格式可能變幻莫測,并且偶爾的長行代碼也是有必要的,這意味著我們不能保證代碼不換行。

>>> print("This is a single line of code which is very long. Too long, in fact, to fit on a single physical line of code in the book.")

如果在上面引用的字符串中的行末尾看到一個反斜杠,它不是代碼的一部分,不應該輸入。

偶爾,我們也會為代碼行編號,便于我們可以從下面的敘述中輕松地引用它們。這些行號不應作為代碼的一部分輸入。編號的代碼塊如下所示:

01.  def write_grayscale(filename, pixels):
02.      height = len(pixels)
03.      width = len(pixels[0])
04. 
05.      with open(filename, 'wb') as bmp:
06.          # BMP文件頭
07.          bmp.write(b'BM')
08.          # 接下來的4個字節將作為32位的小端整數保存文件大小
09.          # 現在用零占位
10.          size_bookmark = bmp.tell()
11.          bmp.write(b'\x00\x00\x00\x00')

有時候,我們需要展示不完整的代碼段。向現有代碼塊添加代碼,或者說想讓代碼塊的結構更清晰而不重復代碼塊中的所有存在的內容時,可以展示不完整的代碼段。在這種情況下,我們使用#...的Python注釋來表示省略的代碼:

class Flight:
    # ...
    def make_boarding_cards(self, card_printer):
        for passenger, seat in sorted(self._passenger_seats()):
            card_printer(passenger, seat, self.number(),
                self.aircraft_model())

這意味著在make_boarding_cards()函數之前,Flight類塊中已經存在一些其他的代碼了。

最后,在本書中,我們將使用帶有空括號的標識符來引用一個函數的標識符,就像前面段落中引用make_boarding_cards()一樣。

主站蜘蛛池模板: 连南| 建阳市| 宝山区| 灵武市| 高碑店市| 秭归县| 兴仁县| 喀什市| 中超| 巴彦淖尔市| 璧山县| 铜山县| 兴隆县| 朝阳市| 山西省| 阳泉市| 双流县| 盐边县| 洪泽县| 黄骅市| 禄丰县| 济源市| 汤原县| 宁夏| 页游| 田林县| 五常市| 荔波县| 阿图什市| 苍溪县| 克拉玛依市| 丘北县| 都兰县| 黄浦区| 石城县| 宝兴县| 新疆| 时尚| 长治县| 黑龙江省| 北碚区|