在學習完Python的基礎知識之后,有很多朋友為自己接下來要干什么感到迷茫。不知道應該通過什么樣的項目來鍛煉自己編程水平和思維能力。接下來我就給大家說幾個適合Python的新手項目和練手項目,Python練手項目有哪些 跟我往下看。以下是小編為你整理的自學python教程 ?
Web方向的練手項目 ?
這個其實是肯定不用多少的了。Python的練手項目就是可以做一個網站了。我們可以做一個屬于自己的博客。在做博客的時候,我們可以鞏固的知識點是 ?
Html+CSS+JS的基礎知識,以及熟練的運用Python的Web開發(fā)框架(例如Django或者Flask)做出一個屬于自己的網站。
?
做一個網絡數據抓取工具 ?
也就是我們常說的網絡爬蟲。可以找到一個自己喜歡的網站。試著抓取一些網站數據,在抓取數據的過程中,你會遇到例如 反抓取 需要登陸 驗證碼驗證以及IP檢測等多種問題。但這恰恰不就是提高的過程么?;蛟S,你也可能寫一個自己的“小百度”呢、 ?
做一個圖像識別的項目 ?
不要覺得太難。我們可以從一個簡單的項目開啟。驗證碼就是一個圖片。我們是不是可以試著識別一下驗證碼上面的文字?不要覺得麻煩,也不要覺得太過簡單。所有復雜的事情都是從簡單開始的。學習驗證碼識別對于我們寫網絡爬蟲是不是特別有用呢?在后期深入的過程中,你還可以做一個圖像識別軟件。 ?
做一個Python聊天機器人 ?
是不是覺得現在手機軟件中的智能聊天軟件很神奇。你同樣可以做一個屬于自己的聊天機器人。前期我們可以做一個應答式的,也就是所有的會話就是存儲在數據庫中。后期的話可以學習人工智能學習。讓你的機器人更加智能。 ?
指令的調用
有的時候我們可以有其他的方法需要調用類中的信息,但是每次都執(zhí)行一次就會感覺很繁瑣 比如: ?
def Print_score(std): print ('%s:%s'% (std.name ,std.score))print Print_score(bat) ?
上面我們可以看出通過定義成績表我們調用到了學生的姓名和成績,我們可以通過函數來訪問這些數據。但是每個實例都有的話執(zhí)行起來就要寫很多的代碼。我們可以通過封裝的方式把類中需要的給直接封裝在類中進行調用。 ?
好的 是這樣,我們可以從外部直接調用類中的方法。相當于是封裝了邏輯,直接在類的內部定義好了,調用會感覺比較容易。封裝的另外一個好處,我們可以給Student這個類增加新的方法,比如get_grade: ?
def get_grade(self): if self.score > 90: return 'A' elif self.score >= 60: return 'B' else: return 'C' ?
python應用特性
數據類型 ?
常用的數據類型:數字(number),字符串(string),list(數組),tuple(元組),dict(字典) ?
數字(number) ?
數字主要有:int(有符號整型),long(長整型),float(浮點數),complex(復數) ?
var1 = 1(int) ?
var2 = 51924361L(long) ?
var3 = 1.2(float) ?
var4 = 3e+26J(complex) ?
字符串 ?
字符串是使用單引號或者雙引號標識起來的,單引號或者雙引號內部可以放數字、字母、下劃線 ?
str1 = "123456789" ?
str2 = '我們都在學Python'
?
數組和元組 ?
List(列表)和Tuple(元組) 是 Python 中使用最頻繁的數據類型。 ?
列表可以完成大多數集合類的數據結構實現。它支持字符,數字,字符串甚至可以包含列表(即嵌套)。 ?
列表用 [ ] 標識,是 python 最通用的復合數據類型。 ?
元組用()標識 , 內部元素用逗號隔開。但是元組不能二次賦值,相當于只讀列表。 ?
List(列表)和Tuple(元組) 區(qū)別:List是可變序列,Tuple是不可變序列 ?
說白了就是List增刪改查都可以,但是tuple只能查看(不可變嘛) ?
字典 ?
字典嘛,就是根據鍵(key)去查找值(value) ?
?
開發(fā)環(huán)境準備 這里我選用Visual Studio 2017作為Python的開發(fā)工具,要求在Visual Studio中安裝Python環(huán)境支持
在進行機器學習開發(fā)時我們需要給python環(huán)境安裝所需要的外部依賴包
sklearn,numpy,spicy
引入sklearn包,創(chuàng)建數據特征模型
from sklearn import tree
#特征模型數據,[身高,胡子] 1-有 0-無
feature =[[178,1],[155,0],[180,1],[166,0],[168,1],[152,0]]
#特征標簽值
label=['male''female','fale','female','fale','female']
我們采用決策樹進行分類預測
#創(chuàng)建一個決策樹對象
clf = tree.DecisionTreeClassifier();
#將特征數據交個決策樹進行判斷
clf = clf.fit(feature,label)
進行新的數據預測
#預測一組新的數據
clf.predict([[158,0]])
clf.predict([[190,1]])
完成的Python的代碼如下:
from sklearn import tree
#特征模型數據,[身高,胡子] 1-有 0-無
feature =[[178,1],[155,0],[180,1],[166,0],[168,1],[152,0]]
#特征標簽值
label=['male','female','fale','female','fale','female']
#創(chuàng)建一個決策樹對象
clf = tree.DecisionTreeClassifier();
#將特征數據交個決策樹進行判斷
clf = clf.fit(feature,label)
#預測一組新的數據
r1=clf.predict([[158,0]])
print("Data[158,0] is label for:")
print(r1)
r2=clf.predict([[190,1]])
print("Data[190,1] is label for:")
print(r1)