5.Python 數字、字串的定義、運算與格式化
2020-12-06
數字、字串的定義
# 將數字 123 存到自訂變數 int 裡,之後就可以用 int 代表數字 123 int = 123 # 將浮點數(小數) 1.23 存到自訂變數 float 裡,之後就可以用 float 代表浮點數 1.23 float = 1.23 # 將字串 "we-shop.net" 存到自訂變數 domain 裡,之後就可以用 domain 代表字串 "we-shop.net" domain = "we-shop.net"
資料類型判斷
type(domain) # 傳回字串類型<class 'str'> type(int) # 傳回整數類型<class 'int'> type(float) # 傳回浮點數類型<class 'float'> type(True) # 傳回布爾類型<class 'bool'> type([1,2,3]) # 傳回列表類型<class 'list'> # type()函式可以返回變數型別,但卻不能直接判斷是否為我們想要的型別。 # 使用 isinstance() 函式,可以判斷變數是否為字串,int,list等。 isinstance(True,(int,list,bool)) isinstance(domain,(str,int,list)) isinstance(domain,(int,list)) # 第二個引數可以是單一元素,也可以是一個元組,只要第一個引數與第二個引數元組中任意一個元素匹配,返回值即為真。
Numeral 數字運算
int(x) # 將x轉為整數,與數學中整數概念一致,沒有取值範圍限制 float(x) # 將x轉為浮點數,帶有小數點及小數的數字 x+y # x與y的和 x-y # x與y的差 x*y # x與y的積 x/y # x與y的商 x//y # 不大於x與y的商之整數 x%y # x與y的商之餘數 x**y # 求x的y次方 pow(x,y) # 求x的y次方 abs(x) # X的絕對值 divmod(x,y) # (x//y,x%y)
String 字串運算
用單引號或雙引號刮起來的一個或多個文字,可以保存在變數中或單獨使用,字串中含有HTML代碼時建議使用單引號包圍\\、\'、\"、\t、\n # 使用轉義符輸出特殊字串 字串可以當陣列使用,第一個字索引為0,第二個字索引為1,最後一個字為-1 domain[2] # 取得字串第三個字(-) domain[-1] # 取得字串最後一個字(t) domain[-3] # 取得字串倒數第三個字(n) domain[3,7] # 取得字串第四個字開始(7-3=4)個字(shop) "we-shop."+"net" # 連接兩個字串 "we-shop.net"*3 # 重複顯示字串三次 "we-shop.net\n"*3 # 重複顯示字串三次並換行 len(domain) # 取得字串長度 str(x) # 將X轉為字串類型 domain.upper() # 字母大寫 domain.lower() # 字母小寫 domain.capitaliza() # 首字母大寫 domain.strip() # 刪除字串前後空格 domain.split() # 按指定字符分割字串為陣列 domain.isdigit() # 判斷字串是否全為數字,是真返回True domain.find() # 搜索指定字串 domain.replace() # 取代字串 for <var> in domain: # 遍歷字串中每個字符
數字和字串的格式化
# 判斷字串是否在(in)某字串中,或不在(not in)某字串中 print("H" in "Hello we-shop") print("E" in "Hello we-shop") print("E" not in "Hello we-shop") # 輸出轉義字將 r 或 R 放在字串第一個引號前面 print(r"\n") # 原本是換行符號 print(r"\"") # 原本是輸出 " 引號 print(R"\u0024") # 原本是輸出 $ 符號 # 各種類型格式化 type.format() ''' s 類型為字串 d 類型為整數。 b 類型為二進位整數。 o 類型為八進位整數。 x 類型為十六進位整數。使用 X 會輸出大寫。 c 轉成相對應的 unicode 字元。 f 類型為浮點數。可指定小數點後的位數。預設小數點後精度 6 位。使用 F 輸出大寫的 NAN、IFN。 e 用科學方法格式化浮點數。預設小數點後精度 6 位。使用 E 輸出大寫。 ''' name = "andy" password = "123456" # 在引號中,使用 {} 指示該位置將被填入與.format() 裡的資料或變數。預設依照資料順序替換 {},"和.format之間不需要逗號分隔。 print("歡迎光臨:{},你的密碼是:{},目前累計積分:{}.".format(name, password, 6800)) print("Hello {}.".format(name)) # 根據資料索引來格式化字串,用數字表示資料索引,索引從 0 開始編號,"和.format之間不需要逗號分隔,不可部分使用資料索引,否則 Python 無法辨識剩下的資料該填入哪一個位置。 print("歡迎光臨:{1},你的密碼是:{0},目前累計積分:{2}.".format(password, name, 6800)) print("{1}, {0}.".format("Hello", name)) # 使用關鍵字時,位置順序不重要,"和.format之間不需要逗號分隔。 print("{name} 的密碼是:{password}.".format(name="Mary", password="123456")) # 使用資料索引和關鍵字,"和.format之間不需要逗號分隔: print("{0} 的密碼是:{1} 目前IP:{ip}.".format("Mary", "123456", ip="127.0.0.1")) # 同時使用資料位置和關鍵字參數時,format() 中的關鍵字參數(ip="127.0.0.1")一定要擺在索引參數後方。 # 使用字典,"和.format之間不需要逗號分隔: dic = {"name":"Mary", "password":"123456"} print("{name} 的密碼是:{password}.".format(**{"someone":"Mary", "tool":"pens"})) # format 中填入字典資料時,前面記得加 **。 # 如果要使用符號來格式化不同字串類型,要在在引號中,使用 {:符號} 表示。 print("帳號:({:10s}). 密碼:({:<5d}) 商品單價:({:^6.2f})".format(name, password, 6.800)) # {:10s} 如果字串不足10個字則補足空格 # {:<5d} 如果數字不足5個字則補足空格並<向左對齊或>向右對齊 # {:^6.2f} 如果浮點數不足6個字(含小數點)則補足空格並置中 # {:08.2f} 如果浮點數不足8個字(含小數點)則整數前方的空白以 0 填補 # 引號前加 f,就可以直接將變數名稱與格式化方式在 {} 中填入 print(f"帳號:({name:>10s}). 密碼:({password:5d}) 商品單價:({30.25:06.2f}).")
數字和字串的運算
print("字串(連接)相加:"+"Hello" + " we-shop") print("換行:\n"+"Hello\n we-shop") # 數字+字串,需要先將數字串換成字轉 int() print(321+int("123")) # 字串+數字,需要先將數字轉換成字串 str() print("Hello\n we-shop"+str(123)) print(""" 原樣輸出,同HTML的<pre></pre> Hello 中間的字可以有縮排、空格 空格不會被自動移除 we-shop """)
Hbuilder X 編輯 python
Hbuilder 編輯器可以讓你很省心的撰寫 Python 程式碼,你可以專注在程式的開發,貼心的語法提示與自動完成,讓你不需花太多心力去死背函數名稱,節省的鍵盤輸入時間更能讓你事半功倍,執行 HBuilder.exe 之後,應該會直接開啟空白的 main.py,如果沒有請點擊一下左側視窗的 main.py 開啟檔案...


複製下列程式碼到 main.py 貼上,然後按鍵盤的【Ctrl+S】存檔,再按鍵盤的【Alt+C】開啟【終端機】視窗
print("字串(連接)相加:"+"Hello" + " we-shop") print("換行:\n"+"Hello\n we-shop") # 數字+字串,需要先將數字串換成字轉 int() print(321+int("123")) # 字串+數字,需要先將數字轉換成字串 str() print("Hello\n we-shop"+str(123)) print(""" 原樣輸出,同HTML的<pre></pre> Hello 中間的字可以有縮排、空格 空格不會被自動移除 we-shop """)


在【終端機】視窗裡游標閃爍處輸入 py+空格+檔案名稱,然後按【Enter】,例如:py main.py,就可以執行 Python 了,若要清空【終端機】視窗,可在游標閃爍處輸入 cls,然後按【Enter】,便會清空【終端機】視窗裡的資料


如果可以盡量不要使用複製的,這樣學習效率差,但要記得每次更改檔案後都要按鍵盤的【Ctrl+S】存檔後,才能執行【終端機】,當你執行過【終端機】後,所有輸入過的指令都會被 Hbuilder 記住,包括關機再開,因此你只需使用鍵盤的【上方向鍵】就能快速找回指令,不需要每次都重KEY

