### ch1-1 >>> 12 + 34 # 整數物件相加 >>> "12" + "34" # 字串物件串連 >>> 12 + "34" # 錯誤,物件資料型別不同 ### ch1-2 >>> 1.23e10 # 1.23 乘以 10 的 10 次方 (科學記號) >>> 1.23e-4 # 1.23 乘以 10 的 -4 次方 (科學記號) >>> 1.23e-5 # 1.23 乘以 10 的 -5 次方 (科學記號) ### ch1-3 >>> 1 > 2 # 結果為 False >>> 1 < 2 # 結果為 True >>> (1 + 1) == 2 # 結果為 True ### ch1-4 >>> print("""靜'夜'思 "李白" # 印出字串物件 床前明月光 疑是地上霜 舉頭望明月 低頭思故鄉""") ### ch1-5 >>> True + 1 # True 先自動轉為整數再做運算 >>> 1 + 2.1 # 1 先自動轉為浮點數再做運算 >>> 1 + int('2') # 將字串 '2' 轉為整數 >>> 1 + float('2') # 將字串 '2' 轉為浮點數,結果是浮點數 3.0 >>> str(1.0) + '2' # 將字串 '2' 轉為整數 >>> 2 + int(True) # 將 bool 物件 True 轉為整數 1,結果是 3 >>> 2 + int("123") # 將字串 "123" 轉為整數 123,結果是 125 >>> 2 + int("hi guys") # 錯誤,int() 只能轉換看起來是數字的字串 ### ch1-6 >>> bool(0) # 0 是空的 >>> bool(1.1) # 1.1 不是空的 >>> bool(None) # None 是空的 >>> bool("") # 空字串是空的 >>> bool(" ") # 內含空白字元,不是空的 >>> bool("a") # 不是空的 ### ch1-7 >>> age = 18 # 將整數物件 18 指派給變數 age >>> age + 1 # 將變數 age 加 1,結果是 19 >>> pi = 3.14159 # 將 3.14159 指派給變數 pi (圓周率) >>> r = 1.23456 # 將 1.23456 指派給變數 r (半徑) >>> 2 * pi * r # 計算圓周長 >>> pi * r * r # 計算圓面積 ### ch1-8 >>> age = 12 # 將整數物件 12 指派給變數 age >>> age # 檢查變數 age 的資料 >>> type(age) # 用 type() 函式看 age 的型別,結果為 int >>> age = "兒童" # 將字串物件 "兒童" 指派給變數 age >>> age >>> type(age) # 結果為 str ### ch1-9 >>> age = None # 將 None 物件指派給變數 age (不綁到資料上) >>> print(age) >>> age = 18 # 將整數物件 18 指派給變數 age >>> print(age) >>> age = None # 將變數 age 由 18 上拿走並閒置 >>> print(age) >>> del age # 將變數 age 刪除 >>> print(age) ### ch1-10 >>> a = b = 5 # 將 5 指派給變數 a, b (先 b = 5,然後 a = b) >>> id(a), id(b), id(5) # 看看 a, b, 5 的 id >>> c = 5; d = 6 # 一行中包含多個敘述時,要用;分隔 >>> id(c), id(d) # 看看 c, d 的 id >>> c = "abcd" # 將字串物件 "abcd" 指派給變數 c >>> type(c) # 結果為 str >>> id(c), id(a) # c 和 a 的 id (位址) 本來一樣,現在不一樣了 ### ch1-11 >>> print = 3 # 將 print 當變數用 (不好的習慣) >>> print(1 + 2) # 錯誤,print() 函數不能用了 ### ch1-12 >>> a = b = 1 # 將 1 指派給變數 a, b (先 b = 1,然後 a = b) >>> a = a + 1 # 將變數 a 的內容 1 取出來加 1,產生新的物件 2,再指派給變數 a >>> a, b # 檢查變數 a, b 的內容 >>> a, b, c = 1, 2, 3 >>> print(a, b, c) ### ch1-13 >>> a = 1 # 將整數物件 1 指派給變數 a (初始化) >>> a = a + 1 # 可以執行 >>> b = b + 1 # 錯誤,b 沒有初始化 ### ch1-14 >>> 2 * 3.0 # 整數與浮點數運算時,結果為浮點數 >>> 4/2, 5/2 # 除法,結果必為浮點數 >>> 5 // 2, 5 % 2 # 用 // 及 % 計算整數除法的商或餘數,結果必為整數 >>> 4.4 // 2, 3.4 % 2 # 用 // 及 % 計算浮點數除法的商或餘數,結果必為浮點數 (商數的小數一定為 0) >>> False + 1, True/2 # True 可以做為 1, False 可以做為 0 >>> 2 % 0, 2/0 # 錯誤。任何除法 (/、//、%) 都不可以除以 0 >>> 4 ** 0.5, 8 ** (1/3) # 次方若為小數,會變成開根號 (例如: 平方根、立方根等) ### ch1-15 >>> "Ab" + "12" + '3' # 串接字串 >>> "Ab" * 3 # 字串重複 3 次 ### ch1-16 >>> print(5 >= 5, 5 >= 6) >>> print(5 == 5, 5 != 6) >>> print(Tru == 1, False != 0) ### ch1-17 >>> "abc" == "abc" # 完全相同 >>> "abc" > "Abc" # ASCII 碼小寫比大寫大 >>> "abc" < 'b' # 第 0 個字 a 比 b 小 >>> "abc" < "abcd" # 前面相同,較長的大 >>> "Eng" < "中文" # 中文一定大於英文 ### ch1-18 >>> not 5 > 4 # 5 > 4 是 True,所以 not True 就是 False >>> (5 > 4 and 4 < 3) # 5 > 4 是 True,4 < 3 是 False,True and False 是 False >>> (5 > 4 or 4 < 3) # 5 > 4 是 True,4 < 3 是 False,True or False 是 True ### ch1-19 >>> a = 4 >>> 3 < a < 6 # 是否 a 大於 3 小於 6,結果為 True >>> 3 < a and a < 6 # 這是傳統寫法,比較不夠直覺 >>> 3 < a < 6 > (a + 1) # 是否 a 大於 3 小於 6,且 6 大於 a + 1 >>> 3 < a and a < 6 and 6 > (a + 1) # 相當於傳統寫法的多個 and ### ch1-20 >>> a = 6 >>> a -= 1 # a = a - 1 >>> a >>> a %= 3 # a = a % 3 >>> a ### ch1-21 >>> print(3 + 2 > 5 / 2 and 7 * 8 != 6 + 7) # 不好閱讀的寫法 >>> print((3 + 2) > (5 / 2) and (7 * 8) != (6 + 7)) # 可讀性增加了 ### ch1-22 >>> abs(-2.5) # 取絕對值 >>> min(1, 2) # 取最小值,參數可以有多個 >>> max(1, 2, 3) # 取最大值,參數可以有多個 >>> pow(2,3) # 2 的 3 次方 >>> pow(2, 3, 5) # 2 的 3 次方,再除以 5 取餘數 >>> round(1.35, 1) # 四捨五入到小數 1 位 (第 2 個參數表示要保留幾位小數) >>> round(1.35) # 四捨五入到整數 (省略第 2 個參數時,會進位到整數)