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