# Deep Learning EP1 --- Python ------------- 要深入了解深度學習(Deep Learning,簡稱 DL),掌握 Python 語言幾乎是必不可少的。這不是因為其他編程語言不夠好,而是因為當今大多數人工智能(AI)開發工作都是用 Python 完成的。Python 的清晰、簡單是它會如此流行的原因,以下是常用的語法: ## I/O ```python print() # 輸出 (加 "" 是字串) input() # 輸入 (都是字串) ``` 實際使用: ```python a = int(input("請輸入a: ")) # a 收到的是 int (整數) print(a) # 打印出 a ``` ```bash >> 請輸入a: 3 >> 3 ``` ## Variable (變數) ```python a = 'a' b = 1 PI = 3.14159 c = '你好1212' d = True e = False ``` 嗯? 怎麼可以沒定義 int, char, bool, string? Python 可以動態定義,讚! ## 運算子 ```python # 賦值運算子 a = 1 b = 2 # 輸出各種運算結果 print(f"a + b = {a+b}") # 加法運算子,計算 a 和 b 的和 print(f"a * b = {a*b}") # 乘法運算子,計算 a 和 b 的乘積 print(f"a / b = {a/b}") # 除法運算子,計算 a 除以 b 的商(結果為浮點數) print(f"a // b = {a//b}") # 整數除法運算子,計算 a 除以 b 的整數商 print(f"a % b = {a%b}") # 模除運算子,計算 a 除以 b 的餘數 print(f"b ** 2 = {b**2}") # 冪運算子,計算 b 的 2 次方 print(f"b >> a = {b>>a}") # 右移位運算子,將 b 的二進位表示向右移動 a 位 print(f"b << a = {b<<a}") # 左移位運算子,將 b 的二進位表示向左移動 a 位 print(f"a ^ b = {a^b}") # 位異或運算子,對 a 和 b 的二進位表示進行異或操作 print(f"a | b = {a|b}") # 位或運算子,對 a 和 b 的二進位表示進行或操作 print(f"a & b = {a&b}") # 位與運算子,對 a 和 b 的二進位表示進行與操作 ``` ```bash a + b = 3 a * b = 2 a / b = 0.5 a // b = 0 a % b = 1 b ** 2 = 4 b >> a = 1 b << a = 4 a ^ b = 3 a | b = 3 a & b = 0 ``` ## 條件 若真才做事,假則做別件事 ```python a = 1 b = 2 if a == b: print("a==b") elif a > b: print("a>b") else: print("Null") ``` ```bash >> Null ``` ## 迴圈 可以重複執行多次,有`for`跟`while` `for`迴圈主要可以控制要幾次、從哪到哪。 ```python= #語法是: for i in range(開始(默認0),結尾,間隔(默認1)) for ii in range(5): print(ii) ``` ```bash= >> 0 >> 1 >> 2 >> 3 >> 4 ``` ### While 迴圈 `while` 迴圈會持續執行,直 到滿足某個條件為止。 ```python i = 0 while i < 5: print(i) i += 1 ``` ```bash >> 0 >> 1 >> 2 >> 3 >> 4 ``` ## 函式 (Functions) 函式是一段組織好的,可重複使用的代碼,用於執行一項特定任務。 ```python def greet(name): return f"Hello, {name}!" print(greet("Alice")) ``` ```bash >> Hello, Alice! ``` ## 列表 (Lists) 列表是 Python 中一種用於存儲一系列項目的資料結構。 ```python my_list = [1, 2, 3, 4, 5] print(my_list[0]) # 輸出第一個元素 my_list.append(6) # 添加元素到列表末尾 print(my_list) ``` ```bash >> 1 >> [1, 2, 3, 4, 5, 6] ``` ## 字典 (Dictionaries) 字典是一種存儲鍵值對的資料結構。 ```python my_dict = {"apple": "蘋果", "banana": "香蕉"} print(my_dict["apple"]) # 輸出 '蘋果' my_dict["orange"] = "橙子" # 添加新的鍵值對 print(my_dict) ``` ```bash >> 蘋果 >> {'apple': '蘋果', 'banana': '香蕉', 'orange': '橙子'} ``` ## 錯誤處理 (Error Handling) 處理錯誤和異常是寫穩健程式的重要部分。 ```python try: # 嘗試執行一些程式碼 x = 1 / 0 except ZeroDivisionError: # 如果發生除以零的錯誤,則執行此塊 print("Cannot divide by zero") ``` ```bash >> Cannot divide by zero ``` 下一章,會介紹進階用法! :) 喜歡請按 :+1: