Python 自學第三天:數字、字串的基本運算
這篇介紹如何處理數字和字串資料型態的基本運算以及常用程式語法。
數字
基本運算
使用加 +
、減 -
、乘 *
和除 /
做基本運算。
除法還有分兩種:
- 小數除法:
1 | x = 3 / 6 |
- 整數除法:
1 | y = 3 // 6 |
//
不一定得到整數結果,主要是和分子、分母的型別有關:
1 | y = 13 // 6 |
除法的餘數
使用 %
。
1 | w = 8 % 6 |
指數 (開根號、平方、三次方等)
使用 **
。
1 | z = 2 ** 0.5 |
字串
截取字串
可以把一個字串想成是一組 Tuple,每個字母都有對應的位置 (index),從 0 開始編號,如下圖。
用中括弧 []
取得該位置的字元。用 [n:m]
截取從 n
到 m-1
的一段字串。
1 | z = "Hello Jenifer" |
字串串接
使用 +
。
1 | w = "Hello" + "Jenifer" |
重複輸出
使用 *
。
1 | w = "Hello" * 2 + "Jenifer" |
多行輸出
使用 \n
、'''可換行'''
(三個單引號包圍) 或 """可換行"""
(三個雙引號包圍)。
1 | x = "Hello\nJenifer" |
包含、不包含
使用 in
和 not in
。
1 | x = "Hello Jenifer" |
輸出原始字串,移除特殊意義
使用 r
或 R
放在字串第一個引號前面。
1 | print(r"\n") # \n (原本是換行符號) |
字串格式化
Python 有四種格式化方式。
- 「舊式」格式化
%
- 「新式」格式化
str.format()
- Formatted String Literals 字串字面量
f
- Template String 模板字串
這邊簡單介紹一些符號意義和基本使用方法。
符號 | 將對…進行格式化 |
---|---|
s | 字串。 |
d | 整數。 |
b | 二進位整數。 |
o | 八進位整數。 |
x | 十六進位整數。使用 X 會輸出大寫。 |
c | 轉成相對應的 unicode 字元。 |
f | 浮點數。可指定小數點後的精度。預設小數點後精度 6 位。使用 F 輸出大寫的 NAN 、IFN 。 |
e | 用科學方法格式化浮點數。預設小數點後精度 6 位。使用 E 輸出大寫。 |
1.「舊式」格式化 %
(2.6 版以前)
在引號中,使用 %符號
表示該位置即將替換的資料或變數。若有多個資料,則用小括弧以 tuple 表示。
1 | name = "Jenifer" |
%s:會被第一個位置的資料取代。
%d:會被第二個位置的資料取代。以此類推。
% name 和 % (name, age, 4.3):即將取代符號的資料。一個資料或資料組合 (tuple) 前記得要加 %。
也可以使用字典 (dictionary) 格式表示。
1 | dic = {"name":"Jenifer", "age":100} |
可以指定輸出時,最少要預留的字元寬度和小數點後精度位數。正、負號表示靠右或靠左對齊。
1 | name = "Jenifer" |
浮點數是以
%總字元位數.小數位數f
表示,總字元包含小數點。
2.「新式」格式化 str.format()
在引號中,使用 {}
表示該位置,在第二個引號後 使用 .format()
來輸入即將替換的資料或變數。預設依照資料順序替換 {}
。
1 | name = "Jenifer" |
還可以根據資料位置、關鍵字或字典來格式化字串。
1 | # 資料位置: |
同時使用資料位置和關鍵字參數時,format() 中的關鍵字參數一定要擺在位置參數後方。
format
中填入字典資料時,前面記得加**
。
如果要使用符號來格式化不同字串類型,要在在引號中,使用 {:符號}
表示。
1 | name = "Jenifer" |
<、> 或 ^:向左、向右或置中對齊。不加,是預設向左對齊。
若要讓數值前方的空白以 0 填補,可以在指定總字元位數時,前方加上一個 0。
3. Formatted String Literals 字串字面量 f
允許嵌入表達式的字串字面量。使用者可以直接在 {}
中填入變數名稱和算式。第一個引號前記得加 f
。
1 | print(f"My name is ({name:>10s}). I'm ({age:5d}) years old. My grade is ({4.315:06.2f}).") |
4. Template String 模板字串
這個有新的概念,暫時無法理解沒關係,可以之後再回來看。
使用 Template()
這個工具,將我們想要製作的字串模板產生出來,使用前記得先引入 (import) 工具。
1 | from string import Template # 引入 Template() 工具 |
製作字串模板時,變數前記得加
$
。
使用substitute()
函式替換變數的值。替換方法可以用關鍵字或字典。
參考資料:
彭彭的課程:Python 數字、字串的基本運算
Python 字串格式化教學與範例
如何使用 Python 進行字串格式化