Python 基礎(chǔ)語(yǔ)法

http://www.runoob.com/python/python-basic-syntax.html

Python 基礎(chǔ)語(yǔ)法
Python語(yǔ)言與Perl,C和Java等語(yǔ)言有許多相似之處。但是浪讳,也存在一些差異。
在本章中我們將來(lái)學(xué)習(xí)Python的基礎(chǔ)語(yǔ)法莉擒,讓你快速學(xué)會(huì)Python編程挠唆。
第一個(gè)Python程序
交互式編程
交互式編程不需要?jiǎng)?chuàng)建腳本文件婚脱,是通過(guò) Python 解釋器的交互模式進(jìn)來(lái)編寫代碼粹懒。
linux上你只需要在命令行中輸入 Python 命令即可啟動(dòng)交互式編程,提示窗口如下:

$ python
Python 2.7.6 (default, Sep  9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Window上在安裝Python時(shí)已經(jīng)已經(jīng)安裝了默認(rèn)的交互式編程客戶端重付,提示窗口如下:
在 python 提示符中輸入以下文本信息,然后按 Enter 鍵查看運(yùn)行效果:

>>> print "Hello, Python!";

在 Python 2.7.6 版本中,以上實(shí)例輸出結(jié)果如下:

Hello, Python!

腳本式編程
通過(guò)腳本參數(shù)調(diào)用解釋器開始執(zhí)行腳本凫乖,直到腳本執(zhí)行完畢确垫。當(dāng)腳本執(zhí)行完成后弓颈,解釋器不再有效。
讓我們寫一個(gè)簡(jiǎn)單的Python腳本程序删掀。所有Python文件將以.py為擴(kuò)展名翔冀。將以下的源代碼拷貝至test.py文件中。

print "Hello, Python!";

這里披泪,假設(shè)你已經(jīng)設(shè)置了Python解釋器PATH變量纤子。使用以下命令運(yùn)行程序:

$ python test.py

輸出結(jié)果:

Hello, Python!

讓我們嘗試另一種方式來(lái)執(zhí)行Python腳本。修改test.py文件款票,如下所示:

#!/usr/bin/pythonprint "Hello, Python!";

這里计福,假定您的Python解釋器在/usr/bin目錄中,使用以下命令執(zhí)行腳本:

$ chmod +x test.py # 腳本文件添加可執(zhí)行權(quán)限$ ./test.py

輸出結(jié)果:

Hello, Python!

Python 標(biāo)識(shí)符
在python里徽职,標(biāo)識(shí)符有字母、數(shù)字佩厚、下劃線組成姆钉。
在python中,所有標(biāo)識(shí)符可以包括英文抄瓦、數(shù)字以及下劃線(_)潮瓶,但不能以數(shù)字開頭。
python中的標(biāo)識(shí)符是區(qū)分大小寫的钙姊。
以下劃線開頭的標(biāo)識(shí)符是有特殊意義的毯辅。以單下劃線開頭(_foo)的代表不能直接訪問(wèn)的類屬性,需通過(guò)類提供的接口進(jìn)行訪問(wèn)煞额,不能用"from xxx import *"而導(dǎo)入思恐;
以雙下劃線開頭的(__foo)代表類的私有成員;以雙下劃線開頭和結(jié)尾的(foo)代表python里特殊方法專用的標(biāo)識(shí)膊毁,如init()代表類的構(gòu)造函數(shù)胀莹。
Python保留字符
下面的列表顯示了在Python中的保留字。這些保留字不能用作常數(shù)或變數(shù)婚温,或任何其他標(biāo)識(shí)符名稱描焰。
所有Python的關(guān)鍵字只包含小寫字母。

and
exec
not

assert
finally
or

break
for
pass

class
from
print

continue
global
raise

def
if
return

del
import
try

elif
in
while

else
is
with

except
lambda
yield

行和縮進(jìn)
學(xué)習(xí)Python與其他語(yǔ)言最大的區(qū)別就是栅螟,Python的代碼塊不使用大括號(hào)({})來(lái)控制類荆秦,函數(shù)以及其他邏輯判斷。python最具特色的就是用縮進(jìn)來(lái)寫模塊力图。
縮進(jìn)的空白數(shù)量是可變的步绸,但是所有代碼塊語(yǔ)句必須包含相同的縮進(jìn)空白數(shù)量,這個(gè)必須嚴(yán)格執(zhí)行吃媒。如下所示:

if True:
    print "True"
else: 
    print "False" 

以下代碼將會(huì)執(zhí)行錯(cuò)誤:

#!/usr/bin/python# -*- coding: UTF-8 -*-
# 文件名:test.py 
if True: 
    print "Answer" 
    print "True"
else: 
    print "Answer" 
    # 沒(méi)有嚴(yán)格縮進(jìn)靡努,在執(zhí)行時(shí)會(huì)報(bào)錯(cuò) 
   print "False"

執(zhí)行以上代碼坪圾,會(huì)出現(xiàn)如下錯(cuò)誤提醒:

$ python test.py File "test.py", line 5 if True: ^IndentationError: unexpected indent

IndentationError: unexpected indent 錯(cuò)誤是python編譯器是在告訴你"Hi,老兄惑朦,你的文件里格式不對(duì)了兽泄,可能是tab和空格沒(méi)對(duì)齊的問(wèn)題",所有python對(duì)格式要求非常嚴(yán)格漾月。
如果是 IndentationError: unindent does not match any outer indentation level錯(cuò)誤表明病梢,你使用的縮進(jìn)方式不一致,有的是 tab 鍵縮進(jìn)梁肿,有的是空格縮進(jìn)蜓陌,改為一致即可。
因此吩蔑,在Python的代碼塊中必須使用相同數(shù)目的行首縮進(jìn)空格數(shù)钮热。
建議你在每個(gè)縮進(jìn)層次使用 單個(gè)制表符兩個(gè)空格四個(gè)空格 , 切記不能混用

多行語(yǔ)句
Python語(yǔ)句中一般以新行作為為語(yǔ)句的結(jié)束符。
但是我們可以使用斜杠( \)將一行的語(yǔ)句分為多行顯示烛芬,如下所示:

total = item_one + \
        item_two + \
        item_three

語(yǔ)句中包含[], {} 或 () 括號(hào)就不需要使用多行連接符隧期。如下實(shí)例:

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

Python 引號(hào)

Python 接收單引號(hào)( ' )、雙引號(hào)( " )赘娄、三引號(hào)( '''""" ) 來(lái)表示字符串仆潮,引號(hào)的開始與結(jié)束必須的相同類型的。
其中三引號(hào)可以由多行組成遣臼,編寫多行文本的快捷語(yǔ)法性置,常用語(yǔ)文檔字符串,在文件的特定地點(diǎn)揍堰,被當(dāng)做注釋鹏浅。

word = 'word'
sentence = "這是一個(gè)句子。"
paragraph = """這是一個(gè)段落屏歹。
包含了多個(gè)語(yǔ)句"""

Python注釋
python中單行注釋采用 # 開頭篡石。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py

# 第一個(gè)注釋
print ("Hello, Python!");  # 第二個(gè)注釋

輸出結(jié)果:

Hello, Python!

注釋可以在語(yǔ)句或表達(dá)式行末:

name = "Madisetti" # 這是一個(gè)注釋

python 中多行注釋使用三個(gè)單引號(hào)(''')或三個(gè)雙引號(hào)(""")。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py


'''
這是多行注釋西采,使用單引號(hào)凰萨。
這是多行注釋,使用單引號(hào)械馆。
這是多行注釋胖眷,使用單引號(hào)。
'''

"""
這是多行注釋霹崎,使用雙引號(hào)珊搀。
這是多行注釋,使用雙引號(hào)尾菇。
這是多行注釋境析,使用雙引號(hào)囚枪。
"""

Python空行

函數(shù)之間或類的方法之間用空行分隔,表示一段新的代碼的開始劳淆。類和函數(shù)入口之間也用一行空行分隔链沼,以突出函數(shù)入口的開始。
空行與代碼縮進(jìn)不同沛鸵,空行并不是Python語(yǔ)法的一部分括勺。書寫時(shí)不插入空行,Python解釋器運(yùn)行也不會(huì)出錯(cuò)曲掰。但是空行的作用在于分隔兩段不同功能或含義的代碼疾捍,便于日后代碼的維護(hù)或重構(gòu)。
記桌秆:空行也是程序代碼的一部分乱豆。
等待用戶輸入
下面的程序在按回車鍵后就會(huì)等待用戶輸入:

#!/usr/bin/python
raw_input("\n\nPress the enter key to exit.")

以上代碼中 ,"\n\n"在結(jié)果輸出前會(huì)輸出兩個(gè)新的空行吊趾。一旦用戶按下 enter(回車) 鍵退出宛裕,其它鍵顯示。

同一行顯示多條語(yǔ)句
Python可以在同一行中使用多條語(yǔ)句趾徽,語(yǔ)句之間使用分號(hào)(;)分割,以下是一個(gè)簡(jiǎn)單的實(shí)例:

#!/usr/bin/python

import sys; x = 'runoob'; sys.stdout.write(x + '\n')

執(zhí)行以上代碼翰守,輸入結(jié)果為:

$ python test.py
runoob

多個(gè)語(yǔ)句構(gòu)成代碼組

縮進(jìn)相同的一組語(yǔ)句構(gòu)成一個(gè)代碼塊孵奶,我們稱之代碼組。
像if蜡峰、while了袁、def和class這樣的復(fù)合語(yǔ)句,首行以關(guān)鍵字開始湿颅,以冒號(hào)( : )結(jié)束载绿,該行之后的一行或多行代碼構(gòu)成代碼組。
我們將首行及后面的代碼組稱為一個(gè)子句(clause)油航。
如下實(shí)例:

if expression : 
   suite 
elif expression :  
   suite  
else :  
   suite 

命令行參數(shù)
很多程序可以執(zhí)行一些操作來(lái)查看一些基本信崭庸,Python可以使用-h參數(shù)查看各參數(shù)幫助信息:

$ python -h 
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... 
Options and arguments (and corresponding environment variables): 
-c cmd : program passed in as string (terminates option list) 
-d     : debug output from parser (also PYTHONDEBUG=x) 
-E     : ignore environment variables (such as PYTHONPATH) 
-h     : print this help message and exit 
 
[ etc. ] 

我們?cè)谑褂媚_本形式執(zhí)行 Python 時(shí),可以接收命令行輸入的參數(shù)谊囚,具體使用可以參照 Python 命令行參數(shù)怕享。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市镰踏,隨后出現(xiàn)的幾起案子函筋,更是在濱河造成了極大的恐慌,老刑警劉巖奠伪,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件跌帐,死亡現(xiàn)場(chǎng)離奇詭異首懈,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)谨敛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門究履,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人佣盒,你說(shuō)我怎么就攤上這事挎袜。” “怎么了肥惭?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵盯仪,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蜜葱,道長(zhǎng)全景,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任牵囤,我火速辦了婚禮爸黄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘揭鳞。我一直安慰自己炕贵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布野崇。 她就那樣靜靜地躺著称开,像睡著了一般。 火紅的嫁衣襯著肌膚如雪乓梨。 梳的紋絲不亂的頭發(fā)上鳖轰,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音扶镀,去河邊找鬼蕴侣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛臭觉,可吹牛的內(nèi)容都是我干的昆雀。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼蝠筑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼忆肾!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起菱肖,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤客冈,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后稳强,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體场仲,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡和悦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了渠缕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸽素。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖亦鳞,靈堂內(nèi)的尸體忽然破棺而出馍忽,到底是詐尸還是另有隱情,我是刑警寧澤燕差,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布遭笋,位于F島的核電站,受9級(jí)特大地震影響徒探,放射性物質(zhì)發(fā)生泄漏瓦呼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一测暗、第九天 我趴在偏房一處隱蔽的房頂上張望央串。 院中可真熱鬧,春花似錦碗啄、人聲如沸质和。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)饲宿。三九已至,卻和暖如春尉共,著一層夾襖步出監(jiān)牢的瞬間褒傅,已是汗流浹背弃锐。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工袄友, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人霹菊。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓剧蚣,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親旋廷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸠按,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • Python語(yǔ)言與Perl,C和Java等語(yǔ)言有許多相似之處饶碘。但是目尖,也存在一些差異。 第一個(gè)Python程序 交互...
    鴿子先生家的貓閱讀 281評(píng)論 0 1
  • Python 語(yǔ)言與 Perl扎运,C 和 Java 等語(yǔ)言有許多相似之處瑟曲。但是饮戳,也存在一些差異。 Python 標(biāo)識(shí)...
    cc小表弟閱讀 390評(píng)論 0 1
  • 今天去辦一件事洞拨,辦事過(guò)程中扯罐,遇到了一些問(wèn)題。當(dāng)時(shí)在交涉過(guò)程中烦衣,我突然有一些緊張歹河。事后我琢磨,明明是一件小事花吟,為什么...
    磚磚熊閱讀 145評(píng)論 0 0
  • 今天有個(gè)討論的話題示辈,說(shuō)的是一個(gè)姑娘寥茫,人挺漂亮,能力也不錯(cuò)矾麻。 但是工作時(shí)總沒(méi)有責(zé)任心纱耻,也沒(méi)啥膽量,并喜歡把這些表現(xiàn)的...
    燕子向前走閱讀 223評(píng)論 0 3
  • 一個(gè)人經(jīng)歷的越多险耀, 他的抱怨就會(huì)越少弄喘。 越是優(yōu)秀的人越努力; 越是富有的人越勤奮甩牺; 越是智慧的人越謙卑蘑志。 這是因?yàn)?..
    李星辰1314閱讀 250評(píng)論 0 0