Python是一種功能很強大的語言,對于零基礎(chǔ)學(xué)習(xí)Python還是有難度的,但只要學(xué)習(xí)方法對,入門還是很快噠。下面介紹幾種學(xué)習(xí)Python的方法。以下是小編為你整理的如何學(xué)好python編程 ?
首先是書籍,通過書籍學(xué)習(xí),雖然速度會有些慢,但知識具體,可以掌握很多細節(jié),一旦入門后,后面進步就很快了,下面介紹給大家一本書,是以前我學(xué)習(xí)Python時用的書,感覺還挺不錯噠。
?
然后就是借助網(wǎng)絡(luò)學(xué)習(xí),網(wǎng)上有很多視頻課程,而且有很多是免費噠,網(wǎng)絡(luò)視頻比較直觀,入門快。給大家推薦一個視頻,網(wǎng)易云課堂里有個零基礎(chǔ)入門學(xué)習(xí)python的視頻,是免費的,我之前也看過,挺不錯噠 ?
還有就是加一些qq群或是論壇,里面的知識雖然不全面,但對于知識的擴寬還是很有幫助噠。 ?
*說說我的學(xué)習(xí)經(jīng)驗,書籍學(xué)習(xí)的方法比較扎實,網(wǎng)絡(luò)視頻學(xué)習(xí)的方法入門比較快,論壇可以作為知識的補充渠道,當(dāng)然,如果想學(xué)精,唯有多多實踐一條途徑。 ?
優(yōu)點是什么
Python世界最棒的地方之一,就是大量的第三方程序包。同樣,管理這些包也非常容易。按照慣例,會在 requirements.txt 文件中列出項目所需要的包。每個包占一行,通常還包含版本號。這里有一個例子 ?
Python 程序包有一個缺陷是,它們默認會進行全局安裝。我們將要使用一個工具,使我們每個項目都有一個獨立的環(huán)境,這個工具叫virtualenv。我們同樣要安裝一個更高級的包管理工具,叫做pip,他可以和virtualenv配合工作。 ?
首先,我們需要安裝pip。大多數(shù)python安裝程序已經(jīng)內(nèi)置了easy_install(python默認的包管理工具),所以我們就使用easy_install pip來安裝pip。這應(yīng)該是你*一次使用easy_install 了。如果你并沒有安裝easy_install ,在linux系統(tǒng)中,貌似從python-setuptools 包中可以獲得。 ?
如果你使用的Python版本高于等于3.3, 那么Virtualenv 已經(jīng)是標(biāo)準(zhǔn)庫的一部分了,所以沒有必要再去安裝它了。 ?
下一步,你希望安裝virtualenv和virtualenvwrapper。Virtualenv使你能夠為每個項目創(chuàng)造一個獨立的環(huán)境。尤其是當(dāng)你的不同項目使用不同版本的包時,這一點特別有用。Virtualenv wrapper 提供了一些不錯的腳本,可以讓一些事情變得容易。 ?
當(dāng)virtualenvwrapper安裝后,它會把virtualenv列為依賴包,所以會自動安裝。 ?
打開一個新的shell,輸入mkvirtualenv test 。如果你打開另外一個shell,則你就不在這個virtualenv中了,你可以通過workon test 來啟動。如果你的工作完成了,可以使用deactivate 來停用。 ?
循環(huán)語句的應(yīng)用
舉個例子如果我們要生產(chǎn)一個list [1,2,3,4,5,6,7,8,9,10] 我們可以使用range(1,11)來表示,如果直接寫range(11) 是從0開始,我們可以演示一下。print range(11)print range(1,11)print range(8,11) ?
然后我們想一下 如果要表示[1*1,2*2,3*3,4*4.....100*100]要怎么做呢?好肯定是要利用到循環(huán)的概念,正常的寫法是這樣的: ?
a = [] #定義一個空的列表for x in range(1,101): #假設(shè)X在從1開始循環(huán)到100 a.append(x * x) # 進行一次添加操作 x* xprint a
?
作為一個程序員,就要是使用最短的代碼*效的完成程序表達的功能,如果使用循環(huán)寫的話會感覺比較繁瑣,特別是邏輯能力不太強的朋友,我們可以使用一行語句代替循環(huán),我們測試看看 ?
print [x * x for x in range(1,101)] ?
當(dāng)然除了計算之外,我們還可以做一些比較特殊的字符串操作,比如: ?
print [m + n for m in 'ABC' for n in 'XYZ'] ?
我們可以看到我們把A B C 都加了一遍XYZ 如果要用正常的循環(huán)也是可以完成的就是了,這樣的操作更加簡單便捷。 ?
學(xué)python有什么條件
開發(fā)環(huán)境準(zhǔn)備,這里我選用Visual Studio 2017作為Python的開發(fā)工具,要求在Visual Studio中安裝Python環(huán)境支持
在進行機器學(xué)習(xí)開發(fā)時我們需要給python環(huán)境安裝所需要的外部依賴包
sklearn,numpy,spicy
引入sklearn包,創(chuàng)建數(shù)據(jù)特征模型
from sklearn import tree
#特征模型數(shù)據(jù),[身高,胡子] 1-有 0-無
feature =[[178,1],[155,0],[180,1],[166,0],[168,1],[152,0]] ?
#特征標(biāo)簽值
label=['male''female','fale','female','fale','female']
我們采用決策樹進行分類預(yù)測
#創(chuàng)建一個決策樹對象
clf = tree.DecisionTreeClassifier();
#將特征數(shù)據(jù)交個決策樹進行判斷
clf = clf.fit(feature,label)
進行新的數(shù)據(jù)預(yù)測
#預(yù)測一組新的數(shù)據(jù)
clf.predict([[158,0]])
clf.predict([[190,1]])
完成的Python的代碼如下: ?
from sklearn import tree
#特征模型數(shù)據(jù),[身高,胡子] 1-有 0-無
feature =[[178,1],[155,0],[180,1],[166,0],[168,1],[152,0]]
#特征標(biāo)簽值
label=['male','female','fale','female','fale','female']
#創(chuàng)建一個決策樹對象
clf = tree.DecisionTreeClassifier();
#將特征數(shù)據(jù)交個決策樹進行判斷 ?
clf = clf.fit(feature,label)
#預(yù)測一組新的數(shù)據(jù)
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)