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

所有這些概念你都會在計算機程序中看到,這些程序就像一門小語言,專門用來讓人類告訴計算機要做什么。我使用針織圖案和食譜來表明編程并非那么高深莫測,基本上就是學習正確的單詞和規則罷了。

如果沒有太多的單詞和規則,而且不需要一次學那么多,那就容易多了。畢竟我們一次能記住的東西是有限的。

來看一個真正的計算機程序,如例1-1所示,你知道它在做什么嗎?

例1-1 countdown.py

for countdown in 5, 4, 3, 2, 1, "hey!":
    print(countdown)

如果猜到這是一個打印出下列內容的Python程序:

5
4
3
2
1
hey!

那你就會明白Python學起來要比食譜和針織圖案容易多了。而且,你可以在桌子上既舒服又安全地編寫Python程序,遠離被熱水燙到和被編織棒扎到的風險。

Python程序有一些特殊的單詞和符號:for、in、print、逗號、冒號、圓括號等。它們都是該語言語法(規則)的重要組成部分。好消息是,Python的語法非常漂亮,相較于大多數編程語言,記憶難度更小,而且看起來也更自然,幾乎就像一份食譜。

例1-2是另一個微型Python程序,它會從Python列表中挑選哈利?波特的一條咒語并打印出來。

例1-2 spells.py

spells = [
    "Riddikulus!",
    "Wingardium Leviosa!",
    "Avada Kedavra!",
    "Expecto Patronum!",
    "Nox!",
    "Lumos!",
    ]
print(spells[3])

每條咒語都是Python字符串(出現在引號內的文本字符序列),它們彼此之間以逗號分隔,包含在由一對閉合方括號([和])定義的Python列表中。單詞spells是一個變量,它為列表賦予了名稱,以便對其進行操作。在這個例子中,程序會打印出第4條咒語:

Expecto Patronum!

明明是第4條,為什么要寫成3 ?Python列表(如spells)是值的序列,按照從列表起始位置的偏移量來訪問其中的值。第一個值的偏移量為0,第4個值的偏移量為3。

 因為人們通常是從1開始計數的,所以從0開始計數看起來有些怪異。從偏移量而非位置的角度來思考會有所幫助。沒錯,這就是計算機程序有時候不同于常見語言用法的一個例子。

列表是Python中相當常見的數據結構,第7章會展示其用法。

例1-3中的程序會打印出《三個臭皮匠》(The Three Stooges)中一位主角的臺詞,不過是按照人名而非列表中的位置引用的。

例1-3 quotes.py

quotes = {
    "Moe": "A wise guy, huh?",
    "Larry": "Ow!",
    "Curly": "Nyuk nyuk!",
    }
stooge = "Curly"
print(stooge, "says:", quotes[stooge])

運行這個小程序會輸出以下內容:

Curly says: Nyuk nyuk!

quotes是一個Python 字典變量。字典是一系列不重復的(在本例中是主角的名字)及其關聯(在本例中是主角的臺詞)的集合。利用字典,你可以按照名稱存儲和查找數據,這通常是列表的有益替代。

spells的例子使用方括號([和])創建Python列表,quotes的例子使用花括號({和},這跟Curly可沒什么關系2)創建Python字典。另外,冒號(:)用于關聯字典中的鍵與值。

2花括號的英文(curly bracket)正好和《三個臭皮匠》中主角之一Curly的名字一樣。——譯者注

第8章會詳細介紹字典。

乍一看也沒有太多的語法,希望如此吧。在接下來的幾章中,你會逐漸碰到更多的小規則。

主站蜘蛛池模板: 通州市| 天峨县| 嘉兴市| 阳原县| 毕节市| 兴安盟| 齐河县| 清涧县| 织金县| 黔西县| 九龙县| 高邑县| 武冈市| 济宁市| 灵璧县| 鄢陵县| 永州市| 宜宾市| 黎平县| 石城县| 曲阜市| 微山县| 克拉玛依市| 桦川县| 济阳县| 呼玛县| 甘肃省| 万全县| 公安县| 合肥市| 门头沟区| 建平县| 麻栗坡县| 台南市| 普兰店市| 咸宁市| 休宁县| 灌阳县| 平顶山市| 如皋市| 湖口县|