Python是一種解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的高級程序設(shè)計(jì)語言。作為今年來越來越流行的語言,我們該如何學(xué)習(xí)或者轉(zhuǎn)行學(xué)習(xí)Python呢,這里小跡為大家介紹如何入門學(xué)習(xí)Python。以下是小編為你整理的怎么學(xué)習(xí)python基礎(chǔ) ?
如何選擇教材,好的開始是成功的一半,選擇一本優(yōu)秀的教材是事半功倍的關(guān)鍵因素。因此我們需要去百度或者知乎等平臺看看大家是如何選購學(xué)習(xí)教材的,尋找最合適自己的學(xué)習(xí)資料; ?
書本的選購?fù)瓿珊?,我們需要查看是否有配套的視頻教程,可以通過百度或者去某些平臺購買實(shí)時授課,這樣在學(xué)習(xí)過程中遇到的問題就可以得以解答;
?
書和視頻已搞定,那就是環(huán)境配置了,PC平臺的環(huán)境配置以及庫的安裝,對于能否成功運(yùn)行Python文件,有著關(guān)鍵的作用。不懂事要學(xué)會自己百度搜索相關(guān)的資源,一般你遇到的問題許多人也遇到過; ?
學(xué)習(xí)過程結(jié)束后,我們需要自己動手做些事情,比如寫一些界面程序,學(xué)學(xué)機(jī)器學(xué)習(xí),訓(xùn)練一下神經(jīng)網(wǎng)絡(luò)等,從中我們會發(fā)現(xiàn)我們的許多不足與不懂的地方,通過請教他人,或者加入一些論壇進(jìn)行學(xué)習(xí),參考他人的代碼等,這都是很重要的,一定要學(xué)會站在巨人的肩膀上思考問題; ?
*,還有非常非常重要的一點(diǎn)就是代碼風(fēng)格,從最開始學(xué)習(xí)就必須強(qiáng)迫自己模仿*秀的代碼風(fēng)格。學(xué)會標(biāo)注而不是一味地復(fù)制,在編程時懂得思考,同樣的問題可以有數(shù)十種解法,因此,懂得思考很重要。 ?
for循環(huán)判斷的格式
for循環(huán)判斷的格式為: ?
for i in range(100): print i, ?
我們開始加上判斷條件輸出50到70之間的數(shù) ?
for i in range(100): if i >49 and i <71: print i, ?
當(dāng)然可以以此類推,比如輸出 1-100 內(nèi),除開50-70的數(shù),說明一下在range后面的括號內(nèi),前面可以自定義起始值 ?
#求1-100 內(nèi)的所有奇數(shù)for i in range(1,100): if i % 2 == 1: print i, ?
我們在1到100內(nèi)循環(huán)查找,如果i無法被2整除就是奇數(shù)(視頻中這里寫錯了寫成了質(zhì)數(shù),表示抱歉) ?
新增一個知識點(diǎn)獲取隨機(jī)數(shù),我們可以通過導(dǎo)入的方式獲取一個隨機(jī)數(shù) ?
import randoma = random.randint(1,200)b = random.randint(1,999)print a,b ?
常用的變量
class Student(object): def __init__(self, name, score): self.name = name self.score =score def Print_score(self): print ('%s:%s' % (self.name, self.score))bat = Student('hongbin', 100)bat.Print_score()print bat.name ?
我們可以觀察一下在Class內(nèi)部,可以有屬性和方法,而外部代碼可以通過直接調(diào)用實(shí)例變量的方法來操作數(shù)據(jù),這樣,就隱藏了內(nèi)部的復(fù)雜邏輯。但是,從前面Student類的定義來看,外部代碼還是可以自由地修改一個實(shí)例的name、score屬性:小編可是好不容易才“考了”100分 就這樣被修改成了59,會不會很不爽!
?
在Python中,實(shí)例的變量名如果以__開頭,就變成了一個私有變量(private),只有內(nèi)部可以訪問,外部不能訪問。如果要讓內(nèi)部屬性不被外部訪問,可以把屬性的名稱前加上兩個下劃線__,我們可以測試一下: ?
這樣就確保了外部代碼不能隨意修改對象內(nèi)部的狀態(tài),這樣通過訪問限制的保護(hù),代碼更加健壯。 ?
?
列表的應(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) # 進(jìn)行一次添加操作 x* xprint a ?
作為一個程序員,就要是使用最短的代碼*效的完成程序表達(dá)的功能,如果使用循環(huán)寫的話會感覺比較繁瑣,特別是邏輯能力不太強(qiáng)的朋友,我們可以使用一行語句代替循環(huán),我們測試看看 ?
print [x * x for x in range(1,101)] ?
當(dāng)然除了計(jì)算之外,我們還可以做一些比較特殊的字符串操作,比如: ?
print [m + n for m in 'ABC' for n in 'XYZ'] ?
我們可以看到我們把A B C 都加了一遍XYZ 如果要用正常的循環(huán)也是可以完成的就是了,這樣的操作更加簡單便捷。 ?
之前有一道練習(xí)題 列出當(dāng)前目錄下的所有文件名和目錄名,我們可以表示成: ?
import os #導(dǎo)入OS模塊print [d for d in os.listdir('.')] #os.listdir 列出文件和目錄 ?
由于pycharm 解析器有一些異常出了一個錯誤,我們回到原始的python測試,可以看到完成列表目錄的輸出過程。