python3零基礎快速通關
從接觸python3到現在已經三個月了,整體感覺這是一門比較容易讓人理解接受的語言。
回想起大學時候學習C語言程序設計,第一節課:寫hello world,第二節課直接就:#include<stdio.h>main()。那種感覺我想大多數沒基礎的人的感覺應該是心中一萬隻草泥馬吧——這是個什麼鬼?怎麼又是#又是<>又是stdio,這都什麼亂七八糟的。個人感覺如果想零基礎接觸一門語言,需要以下幾點:
- 了解什麼是編程語言,語言是用來幹什麼的(這句話是寫給完全編程小白的,包括我自己);
- 了解自己想用它來做什麼;
- 了解什麼是終端,什麼是程序,了解它們的基本作用;
- 熟悉基本的linux指令,知道什麼是圖形用戶界面,什麼是命令行界面,以及能用命令行界面操作一些以前只是用滑鼠點點點的操作;
- 學習語法。
- 重點:注意自己的操作系統,如果是windows操作系統,建議裝上ubuntu虛擬機,因為編程這回事兒還是用Linux或者Unix比較爽。windows不做評價,當然也可以用。(Mac當然更爽啦,除了個別網路編程埠問題,其他的基本一樣。)
如果只是想學一門新語言,當然直接看語法書就可以,不過我想,能看到這篇文章的人大多數應該是無從下手吧,那就按我的順序走走看,也許會覺得不一樣。我學的是python3(既然有新的就直接上新吧,python2當然也可以學,只是長遠來看python3以後是主流,而且功能上沒什麼不一樣)。
第一階段的學習應該以了解一些常用的『小東西』為主,類似於:
print(定個小目標,小賺一個億?)s = input(Whats your name?)print(s)a = int(input(請輸入您的第一個數字))b = int(input(請輸入您的第二個數字))sum = a + bprint(sum)
「上邊的這些,我該寫在哪呢?」
Python的語句可以寫在:一個是交互模式,一個是代碼編輯器。
交互模式(在終端里寫下python3,按下enter):
代碼編輯器:(我用的sublime,個人覺得用起來還不錯)
當寫好一個程序,保存好之後,想要運行,則需要在終端下:
第一種:直接運行,要注意帶上文件路徑
第二種:cd到當前文件路徑下
運行結果如下:
以上的這些雖然跟python的學習有距離,但是對完全小白的人,比如說幾個月前的我,非常非常有用。這些幾乎是阻礙語言學習的最大障礙了。(windows的朋友,cd到文件所在路徑之後直接輸入『文件名.py』即可)
前一個部分,半天或者一天,了解記憶常用的命令行語句,接下來就該學習python的語法了。從難度上來說,這個應該是小學數學的難度,所以不要怕,記住知識點,靈活運用,就成功了。
數據類型:
這張圖是個籠統的概括,具體內容,可以根據你的參考書,或者某寶上幾塊錢的資料,或者公眾號的內容,詳細學習。這塊的內容略微繁瑣,需要記憶,並且各類型一定不要弄混,可變不可變類型要理清,各種索引方法,增刪改查,靈活運用。
循環語句:
循環語句顧名思義,循環執行的語句:
while循環
for 循環:
用循環語句可以有效減少我們的代碼量,反覆執行類似的語句結構,是程序中常見的類型。關於循環的學習,沒有太多記憶的東西,而是需要多做練習,比如網上的各種經典面試題等等。
函數:
函數就是一個可以重複執行的語句塊,可以重複調用,函數將一整塊內容賦給一個函數名,讓函數名代替這塊內容工作。這裡的函數和數學中的函數本質是一樣的:函數可以返回出定義好的結果,可以外部傳遞參數。
函數的基本掌握之後,可以嘗試用函數編寫一些實現功能的小程序,比如:
a = int(input(請輸入:))for x in range(1,a+1): print( *(a-x),end=) for y in range(1,x+1): print(str(y),end=) for y in range(1,x): print(str(x-y),end=) print()for x in range(1,a): print( *x,end=) for y in range(1,a-x+1): print(str(y),end=) for y in range(1,a-x): print(str(a-x-y),end=) print()其執行結果大概是:請輸入:10 1 121 12321 1234321 123454321 12345654321 1234567654321 123456787654321 1234567898765432112345678910987654321 12345678987654321 123456787654321 1234567654321 12345654321 123454321 1234321 12321 121 1
學習函數好比是一個邏輯推理過程,需要通過邏輯一步步實現功能,這是一個比較有意思的過程。其中的遞歸,閉包等等分類也是妙用無窮。
類和對象:
先講一下我對類的理解:自然界有「界門綱目科屬種」,計算機語言的發展也算是一種仿生。類,超類,子類,父類,他們之間可以有繼承,也可以有擴充,上下聯繫而又各有所長。通過定義類,可以建立對象,類和對象的關係好比是:「人」的概念和「張三」,「李四」,「王五」的關係。
類的創建和函數類似,比如:
類的學習可以給我們更靈活的功能實現途徑,我們可以寫更少的函數,實現更多的功能。
以上是近一段時間的學習心得,有興趣的朋友可以跟著這個步驟學習,曾經我也是看著代碼就感覺高不可攀。
學習過程中最重要的是基礎的掌握,數據類型部分很多瑣碎知識點,常用的方法,都需要牢記,不然寫一段稍微長點的程序都不知道哪裡錯了。
下邊是整理的一些學習筆記,這個僅供參考,僅供查詢,不適合學習,資料的話可以去某寶看看。資料有價,知識無價~
Python3零基礎學習筆記一 - CSDN博客6
推薦閱讀:
※Leetcodes Solutions 9 Palindrome Number
※談對程序的理解
※從零開始手敲次世代遊戲引擎(四十三)