# 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是已經定義好的錯誤,也可以自己定義錯誤,應用在程式上面來使程式能順利運行