學習Linux已經有大致兩周了,依然感覺到自己仍然在運維的大門外徘徊。于是我想要找到一個在Linux之外的業余方向,可以作為枯燥基礎學習的調節。沒過多久我就發現了Python可以 說是欽定的選擇,它作為Linux的內置語言,傳言風格簡潔優美,功能強大。Python老生常談的缺點是效率不高,哎,沒辦法,那些底層語言之所以還沒有被淘汰就是因為自己更接近底層可以編出更有效率的代碼。這對于我這種只接觸過c語言的小白而言無所謂,我只關心Python自習之路是否能夠順利進行下去。
我的自學之路大致會按照以下計劃走:
時間分為4周,全部自學,僅提供大綱。適用于Web方向:
1、Week1:讀完《簡明Python教程》,適應Python開發環境
2、Week2:寫個爬蟲,需要深入了解re、urllib2、sqlite3、threading,Queue等幾個模塊。需要用上多線程抓取,正則表達式分析,并發資源控制, 重新開啟程序自動繼續抓取和分析
3、Week3:學習一種Web開發框架,推薦Flask、webpy之類的,學個數據庫接口如sqlite3,寫個簡單的web應用如博客
4、Week4:給產品做個小功能并走完測試和上線流程,各個時期是不同的
以上計劃我是在知乎上從一個大神那里看到的。理論聯系實踐,看起來比較合理。從我以前學習c語言的經歷所得到的教訓就是“紙上得來終覺淺,絕知此事要躬行”。我當時把一本500頁的大部頭給啃了,理論大師級別,可是實踐部分沒有跟上,其結果就是一開始還能編寫一小段程序,過了兩年再提起來c語言基本只剩下一個框架了,所有在理論方面的努力全部白搭。
再說一下我更新的速度,慣例每周一次。而且,每完成一個階段性目標后就單獨再發一篇博客進行總結。
接下來就可以跟隨我的博客開始驚險刺激的Python從入門到棄坑之旅了。
本次Python相關知識點介紹按照《簡明Python教程》分為六部分(嗯,因為我才剛剛看完第六章):
1.介紹
2.安裝Python
3.最初的步驟
4.基本概念
5.運算符和表達式
6.控制流
值得思考的一些東西:
有兩種方式構建軟件設計:一種是把軟件做得很簡單以至于明顯找不到缺陷;另一種是把它做得很復雜以至于找不到明顯的缺陷。
————C.A.R. Hoare
明顯就是說Python語言大道至簡嘛。
獲得人生中的成功需要的專注與堅持不懈多過天才與機會。
————C.W. Wendte
此句與諸君共勉。
1.介紹
總結一下就是,Python大概是世界上最好的語言什么之類的。
2.安裝Python
繼續總結,如果你現在在學Linux的話,你只需要記住三句話。
Linux自帶Python。Linux自帶Python。Linux自帶Python。
Windows用戶的自行從Python.org上下載安裝,下一步下一步就行了,大概吧。
3.最初的步驟
從現在開始正經起來。
現在我只研究Linux命令行模式的Python編程問題。
此時有兩種方式可以念出Hello World的咒語。
(1)使用帶提示符的解釋器
第一步:對著命令行打出 python(啟動解釋器,進入Python提示符)
第二步:print ‘Hello World’
具體實現:
$ python Python 2.3.4 (#1, Oct 26 2004, 16:42:40) [GCC 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print 'hello world' hello world >>>
如何退出Python提示符?
Ctrl+D
(2)使用源文件
挑選一個編輯器
我現在只會Nano,不過對付前六章的內容已經夠了。
使用源文件
在nano編輯器中鍵入如下內容:
#!/usr/bin/python # Filename : helloworld.py print 'Hello World'
命名為helloworld.py,保存并退出
chmod +x helloworld.py
helloworld.py
輸出為:Hello World
這一部分在入門過程我認為是極為重要的,有一定編程基礎的看起來才不會卡住。
0基礎的同學請出門左轉去仔細看原著,不懂的去百度,謝謝。
4.基本概念
常量:
字符串,數 (值不可變)
數:
在Python中有4種類型的數————整數、長整數、浮點數和復數。
字符串:
字符串是字符的序列。字符串基本上就是一組單詞。
單引號,雙引號,三引號,轉義符\,自然字符串(前綴r或R),,Unicode字符串,
字符串是不可變的,按字面意義級聯字符串
注:這部分比較繁瑣,不便于在這里列出來。去看原著很容易理解。
變量:
變量只是你的計算機中存儲信息的一部分內存。與字面 意義上的常量不同,你需要一些能夠訪問這些變量的方法,因此你給變量名字。
標識符的命名:
這部分感覺全世界的要求都一樣。
標識符由字母數字下劃線組成,第一個字符必須為字母或下劃線,對大小寫敏感,
別和一些系統自帶標識符沖突
數據類型:
變量可以處理不同類型的值,稱為數據類型?;镜念愋褪菙岛妥址?。
在后面的章節里面,我們會研究怎么用類創造我們自己的類型。
對象:
記住,Python把在程序中用到的任何東西都稱為對象 。這是從廣義上說的。因此我們不會說“某某東西 ”,我們說“某個對象 ”。
如何編寫Python程序 下面是保存和運行Python程序的標準流程。
1. 打開你最喜歡的編輯器。
2. 輸入例子中的程序代碼。
3. 用注釋中給出的文件名把它保存為一個文件。我按照慣例把所有的Python程序都以擴展名. py保存。
4. 運行解釋器命令python program.py或者使用IDLE運行程序。
邏輯行和物理行:
物理行是你在編寫程序時所 看見 的。邏輯行是Python看見的單個語句。
Python假定每個物理行對應一個邏輯行 。
默認地,Python希望每行都只使用一個語句,這樣使得代碼更加易讀。
如果你想要在一個物理行中使用多于一個邏輯行,那么你需要使用分號(;)來特別地標明這 種用法。分號表示一個邏輯行/語句的結束。
我強烈建議你堅持在每個物理行只寫一句邏輯行。僅僅當邏輯行太長的時候,在多于一 個物理行寫一個邏輯行。這些都是為了盡可能避免使用分號,從而讓代碼更加易讀。
\之后回車,可以在多個物理行中寫一個邏輯行。被稱為明確的行連接。
相對應的存在暗示的行連接。以后會提到。
縮進:
空白在Python中是重要的。
事實上行首的空白是重要的。它稱為縮進。
在邏輯行首的空白(空格和制表符)用來決定邏輯行的縮進層次,從而用來決定語句的分組。
這意味著同一層次的語句必須有相同的縮進。每一組這樣的語句稱為一個塊。
你需要記住的一樣東西是錯誤的縮進會引發錯誤。
如何縮進
不要混合使用制表符和空格來縮進,因為這在跨越不同的平臺的時候,無法正常工作。
強烈建議在每個縮進層次使用 單個制表符 或 兩個或四個空格 。 選擇這三種縮進風格之一。更加重要的是,選擇一種風格,然后一貫地使用它,即只使用這一種風格。
總結:
沒辦法,概念總是枯燥的。當時我自己看書的時候感覺內容并不多,沒想到總結起來還是很煩。在掌握這些概念之后,接著就可以接觸更多的實際編程而不會犯很多無謂的錯誤了。
5運算符與表達式
簡介:
一個表達式可以分解為運算符和操作數。
運算符:
+,-,*,/,**,//,%,<<,>>,&,|,^,~,<,>,<=,>=,!=,not,and,or
這里不用介紹什么優先級,反正記不住。而且實際應用中只需要合理使用()就行了。
表達式:
例5.1
#!/usr/bin/python # Filename: expression.py length = 5 breadth = 2 area = length * breadth print 'Area is', area print 'Perimeter is', 2 * (length + breadth)
輸出:
$ python expression.py Area is 10 Perimeter is 14
不用問為什么,照著敲一遍。
總結:
我們已經學習了如何使用運算符、操作數和表達式——這些是任何程序的基本組成部分。接下 來,我們將學習如何通過語句在我們的程序中使用這些部分。
6.控制流
在Python中有三種控制流語句——if、for和 while。
if語句:
if語句用來檢驗一個條件,如果條件為真,我們運行一塊語句(稱為if-塊 ),否則我們處理 另外一塊語句(稱為 else-塊 )。 else從句是可選的。
例6.1
#!/usr/bin/python #Filename:if.py number=23 guess=int(raw_input('Enter an integer:')) if guess==number: print 'Congratulations,you guessed it.' print '(but you do not win any prizes!)' elif guess<number: print 'No,it is a little higher than that' else: print 'No,it is a little lower than that' print 'Done'
輸出:
$ python if.py Enter an integer : 50 No, it is a little lower than that Done $ python if.py Enter an integer : 22 No, it is a little higher than that Done $ python if.py Enter an integer : 23 Congratulations, you guessed it. (but you do not win any prizes!) Done
注:動手去敲一遍很有用,以至于我寧愿刪掉內容介紹也不刪這部分代碼。
while語句:
只要在一個條件為真的情況下,while語句允許你重復執行一塊語句。while語句是所謂循環語 句的一個例子。while語句有一個可選的else從句。
例6.2
#!/usr/bin/python #Filename:while.py number=23 running=True while running: guess=int(raw_input('Enter an integer:')) if guess==number: print 'Congratulations,you guessed it.' running=False elif guess<number: print 'No,it is a little higher than that.' else : print 'No,it is a little lower than that.' else: print 'The while loop is over.' print 'Done'
輸出:
$ python while.py Enter an integer : 50 No, it is a little lower than that. Enter an integer : 22 No, it is a little higher than that. Enter an integer : 23 Congratulations, you guessed it. The while loop is over. Done
for語句:
for..in是另外一個循環語句,它在一序列的對象上 遞歸 即逐一使用隊列中的每個項目。
例6.3
#!/usr/bin/python #Filename:for.py for i in range (1,5): print i else: print 'For loop is over.'
輸出:
$ python for.py 1 2 3 4 The for loop is over
break語句
break語句是用來終止循環語句的,即哪怕循環條件沒有稱為False或序列還沒有被完全遞歸, 也停止執行循環語句。
一個重要的注釋是,如果你從for或while循環中 終止 ,任何對應的循環else塊將不執行。
例6.4
#!/usr/bin/python #Filename:break.py while True: s=raw_input('Enter something:') if s=='quit': break print 'Length of the string is',len(s) print 'Done'
輸出:
$ python break.py Enter something : Programming is fun Length of the string is 18 Enter something : When the work is done Length of the string is 21 Enter something : if you wanna make your work also fun: Length of the string is 37 Enter something : use Python! Length of the string is 12 nter something : quit Done
continue語句:
continue語句被用來告訴Python跳過當前循環塊中的剩余語句,然后繼續進行下一輪循環。
例6.5
#!/usr/bin/python #Filename:continue.py while True: s=raw_input('Enter something:') if s=='quit': break if len(s)<3: continue print 'Input is of sufficient length'
輸出:
$ python continue.py Enter something : a Enter something : 12 Enter something : abc Input is of sufficient length Enter something : quit
總結:
至此我們已經學習了如何使用三種控制流語句——if、while和for以及與它們相關的break和continue 語句。它們是Python中最常用的部分,熟悉這些控制流是應當掌握的基本技能。
講道理,Python這六章的知識對比起C語言入門的那部分真的算不上什么,感覺按照計劃花上一周時間足夠掌握Python基礎,而剩下的就需要結合理論在實踐中不斷地提升自己了。
原創文章,作者:maru,如若轉載,請注明出處:http://www.www58058.com/72318
內容上寫的挺詳細的,可以加入一些圖片,或者把python代碼放入到”插入代碼”中。這樣看起來效果會更好一些