# FDCSC110 Sep17 Slideshow - Hello, Python! --- ## Syntax 語法 ---- `Python` 是一種**強縮排語言**,意思是它的縮排就是它語法的一部份。 ---- :::spoiler `縮排是什麼?` 縮排是把程式碼依照一定的格式用**換行、Tab、Space**來做排版 在**弱縮排語言**中,這個動作只是讓程式碼更好閱讀而已 ::: ---- 而 `Python` 是以**Tab**或是**Space**加上**換行**來作為主要縮排語法。 ---- 縮排的時機原則上只要上一行的最後一個字元是「:」,就要縮排。 ---- ```python= def main(): try: print(input()) except EOFError: return if __name__ == '__main__': main() ``` ---- 在上面的程式碼中,採用**Tab**加上**換行**來縮排,這也是大部分的人的縮排方法。 --- ## Comments 註解 ---- **註解**在程式語言中是不可或缺的一部份,因為當你需要分享你的程式碼,或是程式碼比較複雜時就會需要用到。 ---- 而 `Python` 的註解是用 `#` 來表示 ```python= print('hello, world.') # output "hello, world." ``` ---- 很可惜的是 `Python` 沒有多行註解,但可以用多行字串宣告來代替。 ```python= print('hello, world.') ''' This is a Program that output "hello, world.". ''' ``` --- ## Variables 變數 ---- **變數**,是在程式中儲存數值的方法。 在 `Python` 中,因為是**弱型別語言**,所以不需要宣告變數就可以使用。 ```python= a = 1.0 b = '1.0' c = 1 print(b) ``` ---- 這裡要注意,雖然不需要宣告,但在賦予一個變數值之前,是不能使用的。 ```python= print(FDCSC) # 這是非法的 ``` --- ## User Input 輸入 ---- 在 `Python` 中,輸入是用 `input()` 函數來達成的。 ---- 而 `input()` 函數一次輸入一行,如果要輸入多行,可以用**迴圈**來達成。 ---- 這時就會有個問題產生,如果要在一行之內輸入兩個變數時怎麼辦? ---- :::spoiler 這裡的知識就有點超出範圍了,如果不懂的話怎麼辦? ~~背起來就對了~~ ::: ---- 基本上,如果有超過一個變數的話要用 `split()` 函數。 ```python= a, b, c = map(int, input().split()) # 輸入 "1 2 3" print(a+b+c) # 輸出 6 ``` --- ## Boolean 布林值 ---- `Boolean` 其實就是電腦裡面的邏輯,也就是0跟1。 ---- 在 `Python` 裡,`True` 代表的是1,`False` 代表的是 0。 ---- 在這裡要給大家一個概念,只要一個物件(變數)的值是「0」、「空」等代表**沒有**的概念,轉換成 `Boolean` 幾乎都是 `False`,反之就是 `True`。 --- ## If..Else 判斷語句 ---- ### 邏輯運算 ---- 在了解 `判斷語句` 前,必須了解甚麼是程式裡的邏輯。因為這種語句在寫的時候必須要用邏輯來實現。 ---- 下面的表格呈現的是 `True`、`False` 經過邏輯運算子運算後的結果。 ---- `and`運算子 | |True|False| |--- |--- |--- | |**True** |True|False| |**False** |False|False| ---- `or`運算子 | |True|False| |--- |--- |--- | |**True** |True|True | |**False** |True|False| ---- `not`運算子 |True|False| |--- |--- | |False|True| ---- 範例程式碼 ```python= print(True and False) # False print(not True) # False print(True or False) # True ``` ---- ### 語法 ---- ```python= if [Boolean]: pass elif [Boolean]: pass else: pass ``` ---- - `if` 是每個判斷句個開頭。只能有一個。 - `elif` 的意思是**else if**,也就是如果還有第二個條件的話,就可以用。可以有**多**個。 - `else` 就是除了 `if`、`elif` 條件以外的東西。只能有一個。 - `pass` 需要再在一個縮排後,沒有程式碼時使用,目的是保持語法的正確性。 ---- ```python= a, b = map(int, input().split()) if a > b: print(a) elif a < b: print(b) else: print(a+b) ``` 在上面的程式碼中, 如果輸入「1 2」會輸出「2」(第五行) 如果輸入「5 3」會輸出「5」(第三行) 如果輸入「4 4」會輸出「8」(第七行) --- ## Try...Except 偵錯 ---- ```python= try: pass except [Exception]: pass finally: pass ``` ---- 概念跟 `判斷語句` 很像,只要找到 [Exception] 就執行該 `except` 底下的東西,如果都沒錯就執行 `try` 底下的東西,如果有意料之外的錯誤,就執行 `finally` 底下的東西。 ---- 其中 [Exception] 可以是 `Exception`、`EOFError`、`TypeError` 等。 ---- 建議要明確找出是哪一種錯誤,不要都用 `Exception`,不然會提高除錯難度。
{"metaMigratedAt":"2023-06-16T10:34:46.051Z","metaMigratedFrom":"Content","title":"FDCSC110 Sep17 Slideshow - Hello, Python!","breaks":true,"contributors":"[{\"id\":\"f6e5d959-6236-46bd-9933-dbc93eaee9e0\",\"add\":3037,\"del\":106}]"}
    270 views