iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0
AI & Data

名詞很多不用忍一下-時間序列分析補帖系列 第 5

Day5 Python 基礎教學 (四)

了解完型別之後,接下來就是該知道一些基礎的語法了,

循環語法

range() 方法

在開始介紹Python迴圈之前,
先來說明一個在執行迴圈時常用的range()方法,
主要用來幫我們產生數列,語法如下:
range(起始值,結束值,遞增(減)值)

使用說明:

  • range(10):起始值預設從0開始,所以會產生0到9的整數序列。
  • range(20,30):起始值從20開始,所以會產生20到29的整數序列。
  • range(20,30,3):起始值從20開始,遞增值為3,所以會產生20,23,26,29的整數序列。

For-Loops 循環

可以針對Iterable(可疊代的)物件來進行讀取,
像是Python內建幾個常用的Iterable物件,
例如:String(字串)、List(串列)、Tuples(元組)、Dictionary(字典)等。
Python for-loop的語法如下:

for item in iterable:
    statement

在語法中,
in 的後方就是 for-loop 要讀取的目標物,
這個目標物的為Iterable (可疊代的)物件,一次讀取一個元素,
然後用 item (自訂變數名稱)來接收每次讀取到的元素,執行區塊中的運算。
注意for-loop的結尾需加上冒號 ( : ) 及區塊中的運算式要有相同的縮排,

範例如下:

在範例中,For-loop的讀取目標物為一個字串,每一次讀取一個字母,
並且用word變數來接收,執行print()輸出方法。

While 循環

while 語法用於循環執行程序,意思是在某特定條件下,
循環執行該項程序,以處理需要重複處理的相同任務。

概念如下:
while 判斷條件():
    執行語句()

可以理解成,當判斷條件為真才執行語句 ,

這邊的話,提供一個動圖方便理解概念,

接下來就是範例介紹:

當我們輸入下述程式碼,
a = 1
while a <= 10:
    print(a)
    a = a+2
    
實際運行就會得到結果如下

1
3
5
7
9

解釋上,首先宣告 a = 1 , 然後當 a 小於等於 10 時 ,輸出 a 同時將 a+2 ,
這樣整串程式碼會重複執行至 a 不再小於等於 10 。
在這樣的過程中,我們可以設想到一個狀況,
如果判斷永遠等於 True ,那會發生什麼狀況呢?

首先我們輸入該程式碼,
a = 1
while a == 1:
    print(a)

會得到結果是無數的 1 ,這時就需要 control + c 來強制中斷該程序。

補充

while 與 For-Loop 的部分還有判斷用法,
以 while 來舉例:
a = 1
b = 2
while a == 1:
    print(a)
else:
    print(b)
    
這時就會回傳 a ,假設 a 不是 1 ,才會回傳 b 。

判斷語法

Python 語言中提供了 if 、 else 、 elif 這三種語法來協助各種條件判斷和流程控制。
Python 一行一行執行的,所以當我們想要所寫的程式在某些條件下跳過某幾行敘述,就可以使用條件判斷。
也就是說,如果要讓程式可以自動檢查所處理資料的內容,
而且根據資料內容來決定是否執行某一個敘述或指令,那就需要用到條件判斷式來控制流程。

  • if 敘述
程式在進行的過程,需要根據某個條件來決定是否執行接下來的動作時,
可以透過:

if abc == True:
    print("hello world")
    
來進行條件判斷,如同字面上的意思,當宣告的變數等於"真"時,
就會輸出自定義的訊息,如果當宣告的變數或條件不相等時,
便會跳過這個判斷直接往下執行。
  • if-else 敘述
當今天我們要追求非真及否的狀況下,
就會運用到:

if abc == True:
    print("hello world")
else abc == False:
    print("This is False")

來進行條件判斷,如同字面上的意思,當宣告的變數等於"真"時,
便會輸出 hello world 如果等於"否",就會輸出 This is False,
但有些情況下我們只想要宣告的變數等於特定值,如果等於其他值便給予統一的回覆,
則可以這樣運用:

if abc == True:
    print("hello world")
else:
    print("This is False")

這樣只有當宣告的變數等於"真"時,才會給予 hello world 的回覆,如果變數是其它任何數值,
都會給予 This is False 。
  • if - elif - else敘述
有的時候需要判斷的可能狀況有很多種時,便會需要用到這個狀況,
例如:

if abc == 1:
    print("number is 1")
elif abc == 2:
    print("number is 2")
else:
    print("number")

如同上述字面上的意思,當數值為特定的時後會給予定義的數值,
如果都不是就單純輸出 number 字串。

  • 巢狀 if 敘述
當我們要在判斷條件中安排更進一步的判斷條件時,就需要用到巢狀結構了。
所謂的巢狀 if 敘述是指在 if-else 敘述當中,還有另一組 if-else 敘述,
例如:

id = "Andy"
age = 20
if age < 10:
    print("not Andy")
elif id == "Andy"  and age <= 20:
    if age == 20:
        print("is Andy")
    elif age == 18:
        print("Andy age not 18")
    elif age == 16:
        print("Andy age not 16")
    elif age == 14:
        print("Andy age not 14")
else:
    print("not Andy QQ")

上述判斷當 id 等於 Andy 且 age 等於 20 時,才是 Andy 。

在看完今天ㄉ文章之後,推薦給大家的歌曲是 家家 的 塵埃
https://www.youtube.com/watch?v=mDCmj_w9pPk&list=PLZ_d6NX2sE80hzNRr9aQD06aJkRc0oxVU&index=7&ab_channel=%E7%9B%B8%E4%BF%A1%E9%9F%B3%E6%A8%82BinMusic


上一篇
Day4 Python 基礎教學 (三)
系列文
名詞很多不用忍一下-時間序列分析補帖5

尚未有邦友留言

立即登入留言