Python菜鳥一枚,本篇屬於基礎入門,主要是筆記整理,並加入自己的實踐經驗。參考過的所有資料見後。在這裡感謝各位大神的慷慨分享和細緻解析,也請各位不吝賜教。
簡單介紹版本與平台。Python版本2.7.11,整合式開發環境Pycharm5.0.4,系統Windows8。 中英文輸出
#-*- coding:utf-8 –*-print "Hello Python!";print "你好,世界";
英文輸出沒啥難的。但特別注意到第一行的utf-8是為中文輸出加上的。在Python2.x版本中使用的是ASCII字元,包含了英文字母大小寫以及標點符號,用一枚位元組表示。中文則使用兩枚位元組表示。在Python3.x版本中使用的是Unicode,不需要加第一行。
傳說中的輸出中文還有有以下幾種方法:
# coding=gbk# coding=GB2312# coding=BIG5
據說都是支援中文的,但是即便在平台上編譯可通過,輸出的還是亂碼。原因暫時未知。 基礎文法 編程方式
Python分為互動式編程與指令碼式編程。互動式編程是類似matlab命令列視窗的編程方式,輸入了一行命令後按下ENTER就可輸出結果。指令碼式編程就是傳統的整個程式完成書寫後編譯。 標識符
所有標識符可以包括英文、數字以及底線(_),但不能以數字開頭。
標識符是區分大小寫。Python保留字元包括了:
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 行與縮排
Python的邏輯結構通過相同格式的縮排來表示,好處是省去了C及各種語言中煩人的大括弧{}之類,不過提高了程式員書寫規範性的要求。編譯器針對這點的常見報錯有:IndentationError: unexpected indent(縮排未對齊),IndentationError: unindent does not match any outer indentation level(縮排方式不一致,應改為一致)。一個條件結構的判斷如下。
u=0if u>0: print "True"else: print "False"
多行語句
Python語句中一般以新行作為為語句的結束符。用斜杠( \)將一行的語句分為多行顯示。
u=1+\ 3+\ 4print u
語句中包含[], {} 或 () 括弧就不需要使用多行串連符。
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
注釋
Python單行注釋以‘#’開始,多行注釋使用三個單引號(”’)或三個雙引號(“”“)。
字串
print 'Hello, world!'print "Hello, world!"
以上兩行代碼雖然分別用的是單引號和雙引號,但輸出結果是相同的。那麼這兩個輸出方式到底有什麼差別。看這一行。
print 'Let's go!'
報錯為:SyntaxError: invalid syntax。原因很好理解。編譯的時候編譯器是以‘開始字串,’結束字串的,從左至右讀入的話,只有Let是被歸入字串內,剩下的s go!’就是沒有規約的語句了。修改如下。
print "Let's go!" #法一,使用雙引號print 'Let\'s go!" #法二,使用逸出字元
那麼如何拼接字串。就是“加法”運算。
print "Hello"+", world!"
說說兩個常用的函數,str與repr。執行個體與輸出結果如下。
print repr('Hello, world!')print str('Hello, world!')print repr(10000L)print str(10000L)
‘Hello, world!’
Hello, world!
10000L
10000
其中長整型數10000L被轉換成了10000。網友有各種解釋,表示都看不懂。知道輸出結果就好了。
再說兩個常用的函數。input與raw_input。input假設使用者會輸入合法的Python運算式,而raw_input則將使用者的輸入當作未經處理資料。
name=input("What's your name?")print "Hello, "+name+"!"
What’s your name?’Vicky’
Hello, Vicky!
name=raw_input("What's your name?")print "Hello, "+name+"!"
What’s your name?Vicky
Hello, Vicky!
區別就是前者需要考慮到Python對各種變數(這裡是字串)的輸入輸出規則(加上了單引號),而後者不用。一般使用後者。 參考資料
http://www.runoob.com/python/python-tutorial.html
http://www.cnblogs.com/yuxc/archive/2011/04/27/2030702.html
http://www.cnblogs.com/rollenholt/archive/2011/08/01/2123889.html
http://www.cnblogs.com/way_testlife/archive/2011/03/29/1999283.html
《Python基礎教程》,人民郵電出版社