用Python數據處理分析入門必備系列文章:判斷與遍歷

最近有許多小夥伴問我要入門 Python 的資料,還有小夥伴完全沒有入門 Python 就直接購買了我的 pandas 專欄。因此我決定寫幾篇 Python 數據處理分析必備的入門知識系列文章,以幫助有需要的小夥伴們更好入門。

 

前言

本節將學習基本的判斷與遍歷方式,立刻開始。

邏輯與布爾值

在實際生活中,我們經常根據條件判斷進而作出不同的行爲。

比如:"如果明天下雨,那麼我就待在家裏,否則我就出門"

編程語言中自然也需要提供這樣的語法,進而描述出類似的語義

我們用文本內容表達環境情況,代碼如下:

82 年 18 月 71號考試075分 去掉文字加我的裙

 

變量 env_tmr 保存一個文本(字符串),之後我們根據這個字符串內容做出判斷,從而打印出不同的內容如果對照中文意思,如圖:

 

上面重點關注的是,怎麼對比出來變量env_tmr的內容是不是符合我們的要求。

 

env_tmr == '下雨' ,用 雙等號 ,判斷2邊的值是否相等這裏的語義是:"變量 env_tmr 等於 文本內容'下雨'",結果返回的 True,表示這描述是正確的。如果結果返回 False ,則表示其描述不正確True 或 False 就是 bool 值由於一個"等號"表示:把右邊的值賦值給左邊的變量,因此判斷的邏輯只能使用"雙等號"表示

因此,其實一開始的if else寫法,if只是根據後面的bool值做判斷,然後調用不同行的代碼而已:

 

如果直接在 if 後面寫 True,那麼代碼總是會執行 if True : 下面的代碼 —— print('待在家裏')如果爲 False,那麼 Python 只是不執行其下方縮進的代碼if與else不需要一起出現,實際上他們有各自表達的意思:

 

當 if 的代碼區被執行時(上圖總是True,因此總是被執行),else 的區域則不會被執行當 if 的代碼區沒有被執行(if 後面的 bool 值爲 False),else 的區域纔會被執行else 必需配合 上方的 if ,else 不能單獨出現。沒有"如果",那麼"否則"是沒有任何意義的if True : 下方有相同縮進的語句,會被歸入 if 的代碼區,else 同樣如此

來看看如何表達:"如果下雨,我拿傘,然後出門":

 

現在不需要表達"否則"的語義,因此不再需要 else序列

在說遍歷之前,要先知道序列這玩意。

我們之前有學過用變量表示一個值(可以是數值也可以是文本),但有時候我們希望表達一系列的值,比如:從0到10的10個數值

Python中有許多不同類型的東西可以表達這語義,這裏簡單介紹列表:

 

[1,2,3] ,生成了一個列表,列表中有3個數值nums = [1,2,3] ,用變量 nums 表示第一步生成的列表(把等號右邊的列表賦值給左邊的變量)。此時,變量 nums 表示一個數值序列nums[0] ,獲取列表中第1個元素更準確的描述是"把等號右邊的列表的引用,賦給左邊的變量" 本系列後續文章會詳細講解常用的序列類型,這裏先點到即止

遍歷與循環

如果我們需要從一個序列中獲取每個值做處理,難道要一次次寫 nums[0]、nums[1] 的代碼嗎?而且我還不一定知道這序列裏面有多少個值

Python 提供了 for 語法自動遍歷序列中的元素。

表達:"從變量nums中獲取每個數值,然後打印出來"的同語義代碼如下:

 

for n in nums: 表示"從變量 nums 中獲取每個數值"。通常來說,你都需要獲取當前處理的數值。因此,Python 會把當前的數值賦值給變量 n ,讓你可以在 for 的代碼區中通過變量 n 得到當前的數值如下示意圖,表示流程:

for 的代碼區被執行了3次,每次 Python 都會把序列中的數值付給變量 n有時候我們只是想遍歷指定次數,比如:"輸出10次內容'test'"。我們總不可能寫代碼定義一個有10個數值的列表吧。

 

Python提供了一個快速輸出序列的方法:

 

range(10) ,生成一個有10個元素的序列range 得到的不是列表,而是生成器。具體內容,可以查看我的文章"Python進階系列:Python遍歷的祕密"

你可能注意到,我們上面的代碼中的遍歷n其實沒有任何意義。一般來說,在Python如果覺得某個返回值沒有意義,我們會使用一個下劃線表示:

總結

if 表示"如果",else 表示"否則",eles 必需在配合 if 存在for 可以遍歷一個序列range 可以快速生成有規律的序列下一節介紹 Python 中常用的集合數據結構,敬請關注。

發佈了38 篇原創文章 · 獲贊 16 · 訪問量 6299
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章