Python作為一門新型的編程語言(一般常用作腳本語言)很受歡迎,畢竟相對其他的編程語言(Java ,C#等)來說比較容易入手。那么,在學習玩入門Python的時候,應該從哪方面入手,學習流程是怎樣的呢?以下是小編為你整理的如何學好python基礎 ?
基礎知識:學習每一種新的編程語言都是從最基本的開始,對于python而言也是需要先學習其基礎知識。
?
python的基礎知識包括:變量和數據類型,List和Tuple,條件判斷和循環(huán),Dict和Set, 函數,切片,迭代和列表生成式。 ?
注意:學習基礎知識切莫著急,一定要打好基礎,這樣才會更好的應用python。 ?
進階知識:學完掌握基礎知識之后,就要學習進階知識了。 ?
python的進階知識包括:函數式編程,模塊,面向對象編程基礎,類的繼承和定制類。 ?
python裝飾器:裝飾器是很重要的一個知識點。 ?
關于裝飾器需要涉及到函數作用域.閉包的使用和裝飾器的概念及使用。 ?
如何搭建環(huán)境
學習爬蟲首先學習Python,建議通過**mooc和《笨方法學Python》來實現入門,那本書的內容可以有所取舍。通過這兩個途徑再上網上針對性地查找相關內容完全可以入門,重點在于理解“面向對象”。 ?
爬蟲入門首先要明白一些網絡技術,了解TCP/IP參考模型,并且對應用層的HTTP協(xié)議的方法和工作原理有一定的認識。爬蟲爬取網頁內容,大多數網頁服務由HTTP協(xié)議實現。 ?
正式學習爬蟲庫urllib和正則表達式,urllib靈活性很高,并且和你所學的網絡原理、HTTP原理非常貼合,利于新手學習,正則表達式看看內容,再看幾個實例就應該會用了,不推薦看亂七八糟的教程和MOOC(效果非常差,講的跨度太大),推薦書籍《精通Python網絡爬蟲 核心技術、框架與項目實戰(zhàn) 》(韋瑋)。同樣是選擇性的閱讀。 ?
學習完成之后,多加實踐,推薦實戰(zhàn)項目:1、爬取漫畫網上的一部漫畫的所有圖片,并用PowerPoint做成PDF 2、爬取電影下載網站上的所有電影下載鏈接并整理到Excel。能獨立完成這兩個實戰(zhàn)項目,恭喜你已經成功入門! ?
常見的函數應用
交換變量 ?
x = 6
y = 5
x, y = y, x
print x
>>> 5
print y
>>> 6 ?
if 語句在行內
print "Hello" if True else "World"
>>> Hello ?
連接
下面的*一種方式在綁定兩個不同類型的對象時顯得很cool。 ?
nfc = ["Packers", "49ers"] ?
afc = ["Ravens", "Patriots"] ?
print nfc + afc ?
>>> ['Packers', '49ers', 'Ravens', 'Patriots'] ?
print str(1) + " world"
>>> 1 world
print `1` + " world"
>>> 1 world
print 1, "world"
>>> 1 world
print nfc, 1
>>> ['Packers', '49ers'] 1
數字技巧
#除后向下取整
print 5.0//2
>>> 2
# 2的5次方
print 2**5
>> 32
注意浮點數的除法
print .3/.1
>>> 2.9999999999999996
print .3//.1
>>> 2.0 ?
數值比較 ?
這是我見過諸多語言中很少有的如此棒的簡便法 ?
x = 2
if 3 > x > 1:
print x
>>> 2
if 1 < x > 0:
print x
>>> 2
5 ?
同時迭代兩個列表 ?
nfc = ["Packers", "49ers"] ?
afc = ["Ravens", "Patriots"]
?
for teama, teamb in zip(nfc, afc): ?
print teama + " vs. " + teamb ?
>>> Packers vs. Ravens ?
>>> 49ers vs. Patriots ?
Import語句 創(chuàng)建了自定義模塊,就是為了用它,import就是用來導入我們寫的模塊的。現在自定義一個簡單的模塊函數myTest.py。然后創(chuàng)建另一個python文件testImport來導入myTest.py,測試可行性。如圖:運行testImport得出結果hi:BOb。這就是import語句簡單應用。
from...import 和from...import*語句:from語句是從模塊中導入其中的一部分到命名空間(下面說)中,還以剛才的兩個文件為例,from myTest import sayHi,就是把模塊myTest中的sayHi函數導入到testImport函數中。
命名空間和作用域(即局部變量全局變量):一個Python表達式可以訪問局部命名空間和全局命名空間里的變量。如果一個局部變量和一個全局變量重名,則局部變量會覆蓋全局變量。python會假設任何函數內賦值的變量都是局部的,因此一個全局變量要想在局部變量里使用,需要用到global語句了,要么是在函數內再聲明一下這個局部變量,如圖注釋的兩個方法: ?
dir()函數:dir函數是一個已經排好序的列表,列表的內容是在模塊里定義過的名字。列表容納了模塊里定義過的所有的模塊,函數和變量 ?
globals()和locals()函數:兩個函數分別用來返回全局和局部命名空間里的名字(返回類型是字典形式,因此可以用key()摘取)。