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

2.1 Python的語(yǔ)法特點(diǎn)

微視頻

學(xué)習(xí)Python開發(fā)之前,首先需要了解Python程序的語(yǔ)法特點(diǎn)。

2.1.1 代碼注釋

Python中的注釋有單行注釋和多行注釋。Python中單行注釋以#開頭,如:

    #這是一個(gè)單行注釋
    print("茅檐低小,溪上青青草。")

單行注釋既可以放在代碼的前一行,也可以放在代碼的右側(cè)。例如:

    print("茅檐低小,溪上青青草。")  #這是一個(gè)單行注釋

大牛提醒

添加注釋的目的是解釋代碼的功能和用途。注釋可以出現(xiàn)在代碼的任意位置,但是需要注意的是,注釋不能分割關(guān)鍵字和標(biāo)識(shí)符。例如,下面的注釋就是錯(cuò)誤的。

    aa=float(#這是一個(gè)單行注釋 input("請(qǐng)輸入商品的價(jià)格:"))

經(jīng)驗(yàn)之談

在實(shí)際開發(fā)的過(guò)程中,注釋除了可以解釋代碼的功能和用途以外,還可以用于臨時(shí)注釋不想被執(zhí)行的代碼。這個(gè)技巧在代碼排錯(cuò)的時(shí)候非常有用。

多行注釋用3個(gè)單引號(hào)(''')或3個(gè)雙引號(hào)(""")將注釋括起來(lái)。

(1)3個(gè)單引號(hào)。

    '''
    創(chuàng)作團(tuán)隊(duì):云尚科技
    文件名稱:2.11.py
    功能介紹:主要實(shí)現(xiàn)系統(tǒng)安全的檢查工作
    '''

(2)3個(gè)雙引號(hào)。

    """
    創(chuàng)作團(tuán)隊(duì):云尚科技
    文件名稱:2.11.py
    功能介紹:主要實(shí)現(xiàn)系統(tǒng)安全的檢查工作
    """

2.1.2 代碼縮進(jìn)

與其他常見的程序設(shè)計(jì)語(yǔ)言不同,Python的代碼塊不使用大括號(hào)({})來(lái)控制類、函數(shù)及其他邏輯判斷。Python語(yǔ)言的主要特色就是采用代碼縮進(jìn)和冒號(hào)來(lái)區(qū)分代碼之間的層次結(jié)構(gòu)。

【例2.1】執(zhí)行縮進(jìn)(源代碼\ch02\2.1.py)。

    #嚴(yán)格執(zhí)行縮進(jìn)的規(guī)則
    if 1==2:
        print ("客從遠(yuǎn)方來(lái),遺我一端綺。")
        print ("相去萬(wàn)余里,故人心尚爾。")
    else:
        print ("著以長(zhǎng)相思,緣以結(jié)不解。")
        print ("以膠投漆中,誰(shuí)能別離此。")

程序運(yùn)行結(jié)果如圖2-1所示。

圖2-1 例2.1的程序運(yùn)行結(jié)果

經(jīng)驗(yàn)之談

實(shí)現(xiàn)縮進(jìn)的方法有兩種,包括使用空格和<Tab>鍵。其中,一個(gè)Tab鍵作為一個(gè)縮進(jìn)量;使用空格時(shí),通常采用4個(gè)空格作為一個(gè)縮進(jìn)量。建議采用空格進(jìn)行縮進(jìn)。

Python語(yǔ)言對(duì)代碼的縮進(jìn)要求非常嚴(yán)格,同一個(gè)級(jí)別代碼塊的縮進(jìn)量必須相同。如果縮進(jìn)量不相同,則會(huì)拋出SyntaxError異常。例如以下錯(cuò)誤提示:

    >>>if 1==2:
       print ("客從遠(yuǎn)方來(lái),遺我一端綺。")
    print ("相去萬(wàn)余里,故人心尚爾。")
    SyntaxError: invalid syntax

大牛提醒

同一個(gè)級(jí)別代碼塊的縮進(jìn)量,除了保證相同的縮進(jìn)空白數(shù)量,還要保證相同的縮進(jìn)方式,因?yàn)橛械氖褂肨ab鍵縮進(jìn),有的使用2個(gè)或4個(gè)空格縮進(jìn),需要改為相同的方式。

2.1.3 編碼規(guī)范

使用Python編寫代碼,需要遵守如下規(guī)范:

(1)不能在行尾加分號(hào),例如以下代碼是不規(guī)范的。

    if 1==2:
       print ("客從遠(yuǎn)方來(lái),遺我一端綺。");
       print ("相去萬(wàn)余里,故人心尚爾。");

(2)每行的字符數(shù)最多不超過(guò)80個(gè)。如果超過(guò),建議使用小括號(hào)將多行的內(nèi)容隱式連接起來(lái)。例如以下代碼:

    a=("客從遠(yuǎn)方來(lái),遺我一端綺。相去萬(wàn)余里,故人心尚爾。文采雙鴛鴦,裁為合歡被。"
    "著以長(zhǎng)相思,緣以結(jié)不解。以膠投漆中,誰(shuí)能別離此?")

(3)每個(gè)import語(yǔ)句只導(dǎo)入一個(gè)模塊,盡量避免一次導(dǎo)入多個(gè)模塊。例如,下面的代碼是不規(guī)范的。

    import sys,os

推薦使用以下寫法:

    import sys
    import os

(4)通過(guò)必要的空行可以增加代碼的可讀性。在函數(shù)或者類的定義之間空兩行,方法定義之間空一行。如果需要分割一些功能,也可以空一行。

(5)盡量避免在循環(huán)中使用+和+=運(yùn)算符進(jìn)行累加字符串。由于字符串是可變的,這樣做會(huì)創(chuàng)建臨時(shí)對(duì)象,而這通常是不必要的操作。

2.1.4 換行問(wèn)題

在Python語(yǔ)言中,常見的換行問(wèn)題如下:

1.換行符

如果是Linux/UNTX操作系統(tǒng),換行字符為ASCII LF(linefeed);如果是DOS/Windows操作系統(tǒng),換行字符為ASCII CR LF(return + linefeed);如果是Mac OS操作系統(tǒng),換行字符為ASCII CR(return)。

例如,在Windows操作系統(tǒng)中換行:

    >>>print ("客從遠(yuǎn)方來(lái),\n遺我一端綺。")
    客從遠(yuǎn)方來(lái),
    遺我一端綺。
2.程序代碼超過(guò)一行

如果程序代碼超過(guò)一行,可以在每一行的結(jié)尾添加反斜杠(\),繼續(xù)下一行,這與C/C++的語(yǔ)法相同。例如:

    if 100 < a < 100 and 1 <=b <=10\
       and 1000 <= c <= 10000 and 0 <= d < 26:  #多個(gè)判斷條件

大牛提醒

行末的反斜杠(\)之后不要加注釋文字。

如果是以小括號(hào)()、中括號(hào)[]或大括號(hào){}包含起來(lái)的語(yǔ)句,不必使用反斜杠(\)就可以直接分成數(shù)行。例如:

    name = ('蘋果', '香蕉',  '橘子',
                 '芒果',   '西瓜',     '橙子')
3.將數(shù)行表達(dá)式寫成一行

如果要將數(shù)行表達(dá)式寫成一行,只需在原來(lái)除最后一行以外的每一行的結(jié)尾添加分號(hào)(;)即可。例如:

    >>>a = '蘋果'; b = '香蕉'; c = '橙子'
    >>> a
    '蘋果'
    >>> b
    '香蕉'
    >>> c
    '橙子'
主站蜘蛛池模板: 天峨县| 怀远县| 乌兰浩特市| 汉阴县| 镇雄县| 嘉义市| 廊坊市| 黄浦区| 哈巴河县| 故城县| 射洪县| 闵行区| 蓬安县| 高陵县| 乾安县| 安达市| 鄂托克前旗| 甘肃省| 宜丰县| 平阳县| 淮北市| 平泉县| 新河县| 卓尼县| 云林县| 衡水市| 洞口县| 彝良县| 石河子市| 镇宁| 新乡市| 家居| 黄梅县| 丹凤县| 莱芜市| 闻喜县| 明溪县| 通化市| 铁力市| 济南市| 会宁县|