# 1.資料結構 ## Class 以車子來舉例 ```bash= # 汽車類別 class Cars: # 建構式 def __init__(self, color, seat): self.color = color # 顏色屬性 self.seat = seat # 座位屬性 # 方法(Method) def drive(self): print(f"My car is {self.color} and {self.seat} seats.") ``` ### 一、類別(Class) class為自定義類別,裡面可以包含各式各樣的東西,簡單來說就是一個模板或藍圖,可以做出不同的物件 Cars 就是這裡舉例的class Cars是一種品牌,品牌內的車子想長什麼樣子就是我們自己定義的 ### 二、建構式(Constructor) 在class中賦予屬性 舉例來說,在這裡定義了一個Car的class,我希望這個車子有顏色跟座位的選項可以選,因此在一開始就要先跟廠商說我要有self.color 和 self.seat 兩個屬性 ### 三、方法(Method) 在class中的fuction 可以想像是物件(Object)的行為,例如介紹自己做出來的車 ```bash= def drive(self): print(f"My car is {self.color} and has {self.seat} seats.") ``` ### 四、物件(Object) class (模板)定義完之後就可以開始製造真正的車子 object是class定義出來的東西,模板做出來的東西 ```bash= mazda = Cars() ``` mazda就是object ### 五、屬性(Attribute) Attribute負責存放物件(Object)的資料 class有說我們可以選擇顏色跟座位,因此創建完object後我們能選擇要什麼顏色和幾個座位,當作為Object的屬性 ```bash= mazda = Cars() # 建立Cars類別的物件 mazda.color = "blue" #顏色屬性 mazda.seat = 4 #座位屬性 ``` 這樣我們就做出一台藍色有4個座位的馬自達車了 ### 六、呼叫mathod 在創建出來的object後面加上.以及class中的mathod ```bash= mazda.drive() ``` ## Stack Stack 是一個線性(linear)資料的集合 就像是疊盤子,放的時候會放在最上面,拿的時候也從最上面開始拿 ![](https://i.imgur.com/QOi8CNK.png) ```bash= stack.push() stack.pop() ``` ## Dictionary 字典可用於複雜的對照組何 可使用key去查詢value ```bash= d = {key1: value1, key2: value2} key in d value in d[key] #新增或修改 dictName[key] = value ```