# Python程式設計入門-課堂筆記 9/12-10/3上課內容和問chatGPT得到的內容整理 9/12 變數、資料型別、運算符號 --- 變數: 1.整數 2.浮點數(有小數) 3.字串(用‘’) 4.list[] 5.dict{} 6.布林值(True or False) 資料型別: List set tuple(元組) 都是儲存資料的數據結構 差別: List : [ ] 用append remove 來增加刪除 list.append() 有序的 可變性 重複元素 Set : { } 無序 不可變性 不能重複 Tuple : ( ) 有序 不可變性 重複元素 Dict : dict( ) or { } [關鍵字] = ‘敘述’ 可以用if 檢測字典中資料 可以用del刪除字典中資料 運算符號: 算術運算符號: ```python= +:加法,用於將兩個數字相加。 -:減法,用於將一個數字減去另一個。 *:乘法,用於將兩個數字相乘。 /:除法,用於將一個數字除以另一個,結果是浮點數。 //:整數除法,用於將一個數字除以另一個,結果是整數部分。 %:取餘數,用於獲取兩個數字相除的餘數。 **:冪運算,用於計算一個數的次方。 ``` 比較運算符號: ```python= ==:等於,用於檢查兩個值是否相等。 !=:不等於,用於檢查兩個值是否不相等。 <:小於,用於檢查一個值是否小於另一個值。 >:大於,用於檢查一個值是否大於另一個值。 <=:小於等於,用於檢查一個值是否小於或等於另一個值。 >=:大於等於,用於檢查一個值是否大於或等於另一個值。 ``` 賦值運算符號: ```python= =:賦值,用於將右邊的值賦給左邊的變數。 +=:加等於,用於將右邊的值加到左邊的變數上,並將結果賦給左邊的變數。 -=:減等於,用於將右邊的值減掉左邊的變數上,並將結果賦給左邊的變數。 *=:乘等於,用於將右邊的值乘到左邊的變數上,並將結果賦給左邊的變數。 /=:除等於,用於將左邊的變數除以右邊的值,並將結果賦給左邊的變數。 ``` 邏輯運算符號: ```python= and:邏輯與,用於檢查兩個條件是否都為True。 or:邏輯或,用於檢查兩個條件是否至少有一個為True。 not:邏輯非,用於反轉條件的值。 ``` --- 9/19 條件、迴圈、函數 --- for 迴圈: for 變數 in range() 可以自訂迴圈次數,或是變數要從多少到多少,但是最後一項並不會做迴圈 例如說要從變數1迴圈到變數10 `for i in range(1,11):` if 條件語句: 可以用來篩選資料,或根據不同資料做不同處理。 結構是 ```python= if ...: elif ...: else: ``` for迴圈和if條件可以搭配運用,像是針對一個資料庫中的所有數據做檢測時,用for迴圈使檢測可以檢測到每個數據,再搭配if來去幫數據分類 while (if + for): 有條件的迴圈,特定條件下才會做迴圈 自定義函數: 用def 後面接函數代號 接者輸入想要給這個函數的指令 之後就可以用這個函數 --- 9/26 類別、物件導向、Python模組 --- 類別: ```python= > class Dog: > > def __init__(self, name, age): > self.name = name > self.age = age > > def bark(self): > print(f"{self.name} 嗚嗚叫!") > > # 創建兩個Dog物件 > dog1 = Dog("旺財", 3) > dog2 = Dog("皮皮", 2) > > # 存取物件屬性 > print(f"{dog1.name} 的年齡是 {dog1.age} 歲。") > print(f"{dog2.name} 的年齡是 {dog2.age} 歲。") > > # 呼叫物件方法 > dog1.bark() dog2.bark() ``` 定義了一個Dog類別,該類別具有屬性name和age,以及一個方法bark用於打印狗叫聲。 通過創建兩個Dog物件(dog1和dog2),我們可以存取物件的屬性並呼叫方法。 物件導向: 封裝(Encapsulation)將資料和方法封裝在一個類別中,以保護資料。 繼承(Inheritance)繼承允許你創建一個新的類別,基於現有的類別。 多型(Polymorphism)多型允許不同的物件對相同的方法做出不同的回應。 ```python= class Animal: def __init__(self, name): self.name = name def speak(self): pass class Dog(Animal): def speak(self): return f"{self.name} 嗚嗚叫!" class Cat(Animal): def speak(self): return f"{self.name} 喵喵叫!" # 創建不同的動物物件 dog = Dog("旺財") cat = Cat("小花") # 使用多型呼叫speak方法 print(dog.speak()) # 輸出:"旺財 嗚嗚叫!" print(cat.speak()) # 輸出:"小花 喵喵叫!" ``` 模組: 用import 導入python的各種模組 ```python= # 創建一個自定義的Python模組 # 儲存為 mymodule.py def greeting(name): return f"你好,{name}!" def add(x, y): return x + y # 在另一個程式中使用模組 import mymodule print(mymodule.greeting("Alice")) # 輸出:"你好,Alice!" result = mymodule.add(5, 3) print(result) # 輸出:8 ``` --- 10/3 輸入、輸出、除錯、例外處理 --- 輸入輸出: 用input print來做輸入輸出數值 ```python= # 使用input()函數接收用戶輸入並顯示 name = input("請輸入您的名字:") print("您的名字是:" + name) # 使用print()函數輸出訊息 print("歡迎來到Python世界!") ``` 也可以輸入檔案: ```python= # 使用內置的 open() 函數打開一個檔案 with open('example.txt', 'r') as file: # 讀取檔案內容 file_content = file.read() print("檔案內容:") print(file_content) ``` 也可以輸入檔案並針對檔案內容編輯並輸出 ```python= # 打開 "input.txt" 檔案以讀取 with open('input.txt', 'r') as input_file: # 讀取檔案內容 file_content = input_file.read() # 對文本內容進行編輯(這裡只是一個示例,你可以根據需要進行編輯) edited_content = file_content.replace('old_text', 'new_text') # 打開 "output.txt" 檔案以寫入 with open('output.txt', 'w') as output_file: # 寫入編輯後的內容 output_file.write(edited_content) print("編輯後的文本已保存到 output.txt 中。") ``` 除錯和例外處理: 用try except來處理程式錯誤 ```python= # 處理無效輸入的例外 try: num = int(input("請輸入一個整數:")) result = 10 / num print("結果:", result) except ValueError: print("請輸入有效的整數。") except ZeroDivisionError: print("不能除以零。") ``` Valueerror是已經定義好的錯誤,也可以自己定義錯誤,應用在程式上面來使程式能順利運行