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