# python 基礎 ## variable/data type int: 整數 str: 字串 float: 浮點數/小數 bool: 布林值 list: 清單/陣列 tuple: 元組/數組 set: 集合 dict: 字典 ```python!= type(1) #int type("Hello world") #str type(1.12) #float type(True) #bool l = [1, "a", 1.1] type(l) # list t = (1, 2, 3) type(t) #tuple s = {1, 2, 3} type(s) # set d = { 1: "a", 'b': 'c' } type(d) # dict ``` ## input/output ```python!= print("這是輸出") print(1) print(1.12) # 這是輸出 # 1 # 1.12 ``` python的print會在輸出後面換行 ```python! print("hello", "world", 12) #hello world 12 ``` python的print可以輸出多個物件,且不限制型態 ```python! print(data, sep=" ", end='\n') ``` 我們可以透過sep這個參數來調整透過什麼字串來分隔物件,end來調整以什麼作為結尾,"\n"為換行。 ### variable 加設我們有個盒子然後我們把它命名成a,這個a可以存一些東西,此時他就稱為variable(變數),這個變數可以存我們之前講的所有資料型態,也可以把別的變數存到新的變數裡,這個動作叫做賦值(assign),注意這裡將一個變數存到新的變數的過程中,只是同一個箱子被貼上不同的標籤(變數名稱),而如果想要兩個不同的箱子存一樣的東西則需要使用copy(某些時候使用deepcopy比較安全)。 ### input ```python!= a = input("請輸入資料: ") ``` 上述代碼會輸出input裡面的資料(可以是空的)並等待使用者輸入內容,並將輸入的內容做為字串賦值到a裡面。 ### casting 型態轉換 假設我們輸入了1,那input給的會是一個字串 ```python= a = input() print(type(a)) # str ``` 那如果我們需要輸入一個數字而不是字串怎麼辦,這個時候我們可以透過casting來轉型態。 ```python= a = input() print(type(a)) # str a = int(a) print(type(a)) # int ``` 如果沒辦法轉成該型態就會噴錯,ex: ```python= a = int('s') # ValueError: invalid literal for int() with base 10: 's' ``` ### list list類似於其他程式語言的陣列,但其成員不限定資料型態以及整個陣列的大小不固定,這也是python相較於其他語言較為簡單的原因之一,但維護好list也是python重要的一環。 #### 宣告 list在宣告的時候需要打上`[]`或是剛剛提到的casting,而我們也可以在裡面先初始化內容 ```python= l = [] l = list() l = [1, 2, 3] l = [i for i in range(10)] # 之後會教迴圈 l = [i for i in range(10) if i % 2 == 0] # 之後會教條件判斷 ``` #### 查詢 ```python= l = [1, 2, 3, 4, 5, 6] print(l) # [1, 2, 3] print(l[0]) # 1 print(l[2]) # 3 print(l[6]) # index out of range print(l[-1]) # 6 print(l[0:2]) # [1, 2] print(l[3:]) # [4, 5, 6] print(l[:3]) # [1, 2, 3] print(l[1:4:2]) # [2, 4] print(l[::2]) # [1, 3, 5] for i in l: print(i) # 一樣之後會教 # 1 # 2 # 3 # 4 # 5 # 6 ``` #### 新增 ```python= l = [1, 2, 3] print(l) # [1, 2, 3] l.append(4) # [1, 2, 3, 4] l.insert(2, 6) # [1, 2, 6, 3, 4] l.extend([1, 2, 3]) # [1, 2, 6, 3, 4, 1, 2, 3] ``` #### 刪除 ```python= l = [1, 2, 3] print(l) # [1, 2, 3, 4, 5, 6, 7, 8] del l[2] # [1, 2, 4, 5, 6, 7, 8] l.remove(2) # [1, 4, 5, 6, 7, 8] l.pop() # [1, 4, 5, 6, 7] l.clear() # [] del l # NameError: name 'l' is not defined ``` #### 修改 ```python= l = [1, 2, 3] l[1] = 10 # [1, 10, 3] ```