python網(wǎng)絡(luò)爬蟲基本語法詳解
邏輯語句
熟悉C/C++語言的人們可能很希望Python提供switch語句,但Python中并沒有這個關(guān)鍵詞,也沒有這個語句結(jié)構(gòu)。但是可以通過if-elif-elif-…這樣的結(jié)構(gòu)代替,或者使用字典實現(xiàn)。比如:
這段代碼實現(xiàn)的功能是,輸入一個運算符,再輸入兩個數(shù)字,返回其計算的結(jié)果。比如輸入“+12”,輸出“3”。這里需要說明的是,input()是讀取屏幕輸入的方法(在python2中常用的raw_input()不是一個好選擇),lambda關(guān)鍵字代表了Python中的匿名函數(shù)。
if,else,elif
與很多其他語言一樣,Python也有自己的條件語句和循環(huán)語句。不過Python中的這些表示程序結(jié)構(gòu)的語句并不需要用括(比如“{}”)括起來,而是以一個冒號作為結(jié)尾,以縮進作為語句塊。if,else,elif關(guān)鍵詞是條件選擇語句的關(guān)鍵:
|
Python中的循環(huán)語句主要是兩種,一種的標志是關(guān)鍵詞for,一種的標志是關(guān)鍵詞while。Python中的for接受可迭代對象(例如list或迭代器)作為其參數(shù),每次迭代其中一個元素:
for
【提示】如果想要輸出列表中的索引和對應(yīng)的元素,除了上面這樣的方法之外,還有更符合Python風(fēng)格的用法,如enumerate方法等
while
while循環(huán)的形式如下:
語句while_suit_codes會被連續(xù)不斷地循環(huán)執(zhí)行,直到表達式的值為False,接著Python會執(zhí)行下一句代碼。在for循環(huán)和while循環(huán)中,我們也會使用到break和continue關(guān)鍵字,分別代表終止循環(huán)和跳過當下循環(huán)開始下一次循環(huán):
說到循環(huán),就不能不提列表解析(或者翻譯為“列表推導(dǎo)”),在形式上,是將循環(huán)和條件判斷放在了列表的“[]”初始化中。舉個例子,構(gòu)造一個包含10以內(nèi)所有奇數(shù)的列表,使用for循環(huán)添加元素:
使用列表解析:
這種“推導(dǎo)”(解析)也適用于字典和集合。這里我們沒有說“元組”,是因為元組的括號(圓括號)表示推導(dǎo)時會被Python識別為生成器,關(guān)于生成器的具體概念,可以見本書6.1.2節(jié)。一般如果需要快速構(gòu)建一個元組,可以選擇先進行列表推導(dǎo),再使用“tuple()”將列表“凍結(jié)”為元組:
異常處理
Python中的異常處理也比較簡單,核心語句是try…except…結(jié)構(gòu),可能觸發(fā)異常產(chǎn)生的代碼會放到try語句塊里,而處理異常的代碼會在except語句塊里實現(xiàn):
異常處理語句也可以寫得非常靈活,比如同時處理多個異常:
有時候,在異常處理中我們會使用finally語句,而在finally語句下的代碼塊不論異常是否觸發(fā)都將會被執(zhí)行:
函數(shù)與類
def
在Python中,聲明和定義函數(shù)使用def(代表“define”)語句,在縮進塊中編寫函數(shù)體,函數(shù)的返回值用return語句返回:
如果沒有顯式的return語句,函數(shù)會自動return None。另外,我們也可以使函數(shù)一次返回多個值,實質(zhì)上是一個元組:
pass
對于我們暫時不想實現(xiàn)的函數(shù),可以使用“pass”作為占位符,否則Python會對縮進的代碼塊報錯:
pass也可用于其他地方,比如if 和 for循環(huán):
在函數(shù)中可以設(shè)置默認參數(shù):
當有說個默認參數(shù)時會自動按照順序逐個傳入,我們也可以在調(diào)用時指定參數(shù)名:
class
在Python中類使用“class”關(guān)鍵字定義:
定義好類后,就可以根據(jù)類創(chuàng)建出一個實例。在類中的函數(shù)一般稱為方法,簡單地說,方法就是與實例綁定的函數(shù),和普通函數(shù)不同,方法可以直接訪問或操作實例中的數(shù)據(jù)?!咎崾尽縋ython中的方法有實例方法、類方法、靜態(tài)方法之分,這部分是Python面向?qū)ο缶幊讨械囊粋€重點概念。但是這里為了簡化說明,統(tǒng)一稱之為“方法”或者“函數(shù)”。
類是Python編程的核心概念之一,這主要是因為“Python中的一切都是對象”,一個類可以寫的非常復(fù)雜,下面的代碼就是requests模塊中Request類及其__init__()方法(部分代碼):
到此這篇關(guān)于python網(wǎng)絡(luò)爬蟲基本語法詳解的文章就介紹到這了,更多相關(guān)python基本語法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于AnacondaNavigator?Jupyter?Notebook更換Python內(nèi)核的問題
因為新安裝的Anaconda?Navigator默認安裝了一個Python,Jupyter?Notebook默認使用的內(nèi)核就是這個Python,跟我系統(tǒng)安裝好的Python沖突了,下面小編給大家介紹AnacondaNavigator?Jupyter?Notebook更換Python內(nèi)核的問題,需要的朋友可以參考下2022-02-02徹底解決No?module?named?‘torch_geometric‘報錯的辦法
這篇文章主要給大家介紹了關(guān)于如何徹底解決No?module?named?‘torch_geometric‘報錯的辦法,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-03-03使用python實現(xiàn)mqtt的發(fā)布和訂閱
這篇文章主要介紹了使用python實現(xiàn)mqtt的發(fā)布和訂閱,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05pytorch獲取模型某一層參數(shù)名及參數(shù)值方式
今天小編就為大家分享一篇pytorch獲取模型某一層參數(shù)名及參數(shù)值方式,具有很好的價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12