ncuma_字串.pptx

NCU MCL
NCU MCLSoftware Developer em NCU MCL
字 串
簡要 python 學習講義
字串
 使用單引號或雙引號夾住的字元: ’abc’ , ”abc” , ”Tom’s”
 跨列文字需使用三個引號:
2
a = ’’’國立中央大學
數學系’’’
b = ”國立中央大學n數學系” # a 與 b 是一樣的字串
 以三個引號夾住某段程式碼不作設定,效果等同註解
for i in range(1,10) :
”””
s = 0
for n in range(i) : s += n
print( "sum of 0 .." , i , "is" , s )
”””
...
 此種跨列註解的第一個三引號仍需遵循縮排規定
國立中央大學數學系
字元 (一)
 字串為萬國碼字元序列,以 UTF-8 編碼
 len(字串):取得字串長度,即字元數
 list(字串):分解字串成字元串列
3
>>> school = ’中央大學’
>>> foo = list(school)
>>> foo
[’中’, ’央’, ’大’, ’學’]
 for 迴圈佚代取出字元
math = ’中央大學MATH’
# for 迴圈每次取出一個字元
for c in math : print( c , end=” - ” )
# 使用下標取得字元
for i in range(len(math)) : print( math[i] , end=” - ” )
以上兩個迴圈都輸出
中 – 央 – 大 – 學 – M – A – T – H -
國立中央大學數學系
字元 (二)
 特殊字元
4
’ 單引號字元  反斜線字元 ooo 8 進位 ooo 字元
” 雙引號字元 b 退後字元 xhh 16 進位 hh 字元
n 換列字元 t 定位字元
 相等字元
’m’ == ’155’ (八進位數) == ’x6d’ (十六進位數)
國立中央大學數學系
字串合成與複製
 多個字串合成
 跨列字串合成:使用小括號
 字串合成:使用 +
 字串複製: 使用 *
5
a = ”中央大學” ” ” ”數學系” # a = ”中央大學 數學系”
b = ( ”春眠不覺曉,處處聞啼鳥。”
”夜來風雨聲,花落知多少。” )
c = ”中央大學” + ” ” + ”數學系” # c = ”中央大學 數學系”
d = ”加油!” * 3 # d = ”加油!加油!加油!”
國立中央大學數學系
字串字元下標
’中’ ’央’ ’大’ ’學’ ’數’ ’學’ ’系’
0 1 2 3 4 5 6
-7 -6 -5 -4 -3 -2 -1
6
foo = "中央大學數學系"
字串 foo
正向下標
逆向下標
國立中央大學數學系
複製字串內部份字元 (一)
 使用下標截取字元
7
a[:] 複製全部
a[i:j] 複製 a[i] 到 a[j-1] 間的字元
a[i:] 複製 a[i] 到末尾的所有字元
a[-i:] 複製末尾 i 個字元
a[:j] 複製前 j 個字元
a[i:j:k] 複製 a[i] , a[i+k] , a[i+2k] , ... 末尾下標需小於 j
a[i:j:-k] 複製 a[i] , a[i-k] , a[i-2k] , ... 末尾下標需大於 j
國立中央大學數學系
複製字串內部份字元 (二)
 順向複製
 逆向複製
8
>>> a = ”中央大學 MATH”
>>> b = a[:] # b = "中央大學 MATH"",
a 與 b 各有獨立字串空間
>>> c = a[5:] # c = "MATH"
>>> d = a[-4:] # d = "MATH"
>>> e = a[0:3:2] # e = "中大"
>>> a = ”NCU MATH”
>>> b = a[-1:-5:-1] # b = ”HTAM”
>>> c = a[-1::-1] # c = ”HTAM UCN” 逆轉字串
>>> d = a[::-1] # d = 同上
 字串複製 b = a[:] 等同 b = a,但 a 若是串列,則兩者有差別
國立中央大學數學系
複製字串內部份字元 (三)
 複合順逆向
9
>>> a = "NCU MATH"
>>> b = a[-1:-5:-1] # b = "HTAM"
>>> c = a[-4:][::-1] # c = 同上 逆向末四個字元
>>> d = a[:3][::-1] # d = ”UCN” 逆向前三個字元
國立中央大學數學系
數字與字串
 float(foo):將數字字串 foo 轉型為浮點數
 int(foo):將整數字串 foo 轉型為十進位整數
 int(foo,x):將 x 進位的 foo 數字字串轉型為十進
位整數
10
>>> a = float(”3.14”) # a = 3.14
>>> b = int(”24”) # b = 24
>>> c = int(”24”,5) # c = 14
>>> d = int(”31”,16) # d = 49
>>> e = int(”0xff”,16) # e = 255
國立中央大學數學系
字串是不能更動型別 (immutable type)
 字串設定後即不能更動
 重新組合字串成新字串
11
>>> a = ”數學系”
>>> a[2] = ”人” # 錯誤,字串字元無法更動
>>> a[:2] = ”物理” # 錯誤,字串字元無法更動
>>> b = ”理學院數學系”
>>> b = b[:3] + ”物理” + b[-1] # b = ”理學院物理系”
國立中央大學數學系
字串分解 (一)
 list(foo):分解 foo 字串為字元串列
 foo.split(sep,n):分解 foo 字串,前 n 個字串依 sep
分隔字串分解
以下 sep 為一個或兩個星號
12
>>> a = ”MATH”
>>> b = list(a) # b = [’M’, ’A’, ’T’, ’H’]
>>> a = ”M-A-T-H”.split(’-’) # a = [’M’, ’A’, ’T’, ’H’]
>>> b = ”M-A-T-H”.split(’-’,1) # b = [’M’, ’A-T-H’]
>>> c = ”M-A-T-H”.split(’-’,2) # c = [’M’, ’A’, ’T-H’]
>>> d = ”M--A--T--H”.split(’--’) # d = [’M’, ’A’, ’T’, ’H’]
>>> e = ”M--A--T--H”.split(’-’) # e = [’M’, ’’, ’A’, ’’, ’T’, ’’, ’H’]
>>> a = ”中*大***MATH”.split(”*”) # a = [’中’, ’大’, ’’, ’’, ’MATH’]
>>> b = ”中*大***MATH”.split(”**”) # b = [’中 大’, ’*MATH’]
 sep 不得為空字串
國立中央大學數學系
字串分解 (二)
 foo.split():分解 foo 字串,取出非空格間的字元
13
>>> a = ”中 大 MATH”.split() # a = [’中’, ’大’, ’MATH’]
>>> b = ” 中 大 MATH ”.split() # b = [’中’, ’大’, ’MATH’]
>>> c = ”中 大nt MATH”.split() # c = [’中’, ’大’, ’MATH’]
 python 的空格包含(’ ’)、換列(’n’)、定位(’t’)、回列首字元(’r’)
 字串分解常與輸入合用,藉以一次設定許多變數
# 輸入三個整數以空格分開
>>> a , b , c = map( int , input("> ").split() )
> 2 4 9
>>> a + b + c
15
# 輸入以空格分開的整數存入串列
>>> d = list( map( int , input("> ").split() ) )
> 8 9 3 7
>>> d
[8, 9, 3, 7]
國立中央大學數學系
字串合併
 sep.join(foo):將字串或字串串列 foo 合併起來,
字串間有 sep 分隔字串
 對調 年/月/日 成為 月/日/年
14
>>> a = ”--”.join([’中’, ’央’, ’大’, ’學’]) # a = ”中--央--大--學”
>>> b = ””.join([’MA’, ’TH’]) # b = ”MATH”
>>> c = ”-”.join( input(”-> ”) ) # c = ’1-2-3’
-> 123
>>> d = ”**”.join( ”ncu” ) # d = ’n c u’
>>> ”/”.join(”105/3/26”.split(’/’,1)[::-1])
3/26/105
國立中央大學數學系
移除字串兩側空格
 foo.strip() :去除 foo 字串兩側的空格,回傳剩餘的字串
 foo.lstrip():去除 foo 字串左側的空格,回傳剩餘的字串
 foo.rstrip():去除 foo 字串右側的空格,回傳剩餘的字串
15
>>> foo = " 中央大學 "
>>> a = foo.strip() # a = "中央大學"
>>> b = foo.lstrip() # b = "中央大學 "
>>> c = foo.rstrip() # c = " 中央大學"
>>> foo # foo 保持不變
" 中央大學 "
 原始字串為 immutable,不會被變更
國立中央大學數學系
format 格式輸出 (一)
 使用 format 設定輸出格式:
 format 輸出字串
 設定輸出位置:{0},{1},…,{n}
 設定輸出寬度、填補字元、精度、對齊方式
16
 {n} 的 n 可以重複
>>> ”{}/{}/{}”.format(”1977”,8,10)
’1977/8/10’
>>> a = ”{}有 {} 公斤”.format(”香蕉”,148) # a = ’香蕉有148 公斤’
>>> a = ”{1}月 {2}日 {0}年”.format(2017,3,13) # a = ’3月 13日 2017年’
>>> b = ”{2}/{1}/{0}”.format(2017,3,13) # b = ’13/3/2017’
>>> a = ”{0}:{1:5} kg”.format(’香蕉’,234) # a = ’香蕉: 234 kg’
>>> b = ”{0:>4}:{1:#>5} kg”.format(’鳳梨’,234) # b = ’ 鳳梨:##234 kg’
>>> c = ’{0}:{1:#>7.2f} kg’.format(’芭樂’,234.5) # c = ’芭樂:#234.50 kg’
國立中央大學數學系
format 格式輸出 (二)
 整數格式輸出
 填補字元、對齊、寬度
 進位方式
17
 <、>、^ 分別為向左、向右、置中對齊符號,填補字元於其前,寬度於其後
 進位字母置於寬度之後,b 二進位、o 八進位、x/X 小寫/大寫十六進位
>>> ”{0:#<5}{1:@>5}{2:*^6}”.format(123,45,67)
’123##@@@45**67**’
>>> ”{0:#<4}-{0:010b}-{0:#>4x}”.format(234)
’234#-0011101010-##ea’
國立中央大學數學系
format 格式輸出 (三)
 整數格式輸出
 正負號與其位置
 逗點
18
>>> a = ”{0:#=+5}”.format(12) # a = ’+##12’
>>> b = ”{0:#>+5}”.format(12) # b = ’##+12’
>>> c = ”{0:#<+5}”.format(12) # c = ’+12##’
>>> d = ”{0:#^+5}”.format(12) # d = ’#+12#’
>>> e = ”{0:#=5}”.format(-12) # e = ’-##12’
 寬度數字前的 + 號代表當整數為正數時則輸出正號
>>> a = ”{:#>12,}”.format(9834567) # a = ’###9,834,567’
國立中央大學數學系
format 格式輸出 (四)
 浮點數格式輸出
 小數點輸出
 科學記號輸出
 百分號輸出
19
>>> ”{:>f}”.format(12.239013533) # 預設小數點精度為 6
’12.239014’
>>> ”{:#>7.2f}”.format(12.2390) # 7 格列印,小數佔用 2 格
’##12.24’
>>> ”{0:e}{0:#>10.2e}{0:#>10.2E}”.format(12.2390)
’1.223900e+01##1.22e+01##1.22E+01’
>>> ’{0:%}||{0:#>.1%}||{0:#>10.2%}’.format(12.239)
’1223.900000%||1223.9%||##1223.90%’
 7.2f 代表全部數字佔用 7 格,小數位數佔用 2 格
 10.2e 代表全部數字佔用 10 格,小數位數佔用 2 格
國立中央大學數學系
1 de 19

Recomendados

Ppt 101-119 por
Ppt 101-119Ppt 101-119
Ppt 101-119hungchiayang1
1.4K visualizações19 slides
Ppt 101-119 por
Ppt 101-119Ppt 101-119
Ppt 101-119hungchiayang1
29 visualizações19 slides
Ch6 教學 por
Ch6 教學Ch6 教學
Ch6 教學hungchiayang1
660 visualizações44 slides
Ch6 por
Ch6Ch6
Ch6Alisha Smile
83 visualizações83 slides
ncuma_串列.pptx por
ncuma_串列.pptxncuma_串列.pptx
ncuma_串列.pptxNCU MCL
361 visualizações29 slides
ncuma_型別與迴圈.pptx por
ncuma_型別與迴圈.pptxncuma_型別與迴圈.pptx
ncuma_型別與迴圈.pptxNCU MCL
19.8K visualizações26 slides

Mais conteúdo relacionado

Similar a ncuma_字串.pptx

Ppt 51-77 por
Ppt 51-77Ppt 51-77
Ppt 51-77hungchiayang1
122 visualizações27 slides
Ppt 51-77 por
Ppt 51-77Ppt 51-77
Ppt 51-77hungchiayang1
2.1K visualizações27 slides
Ppt 1-50 por
Ppt 1-50Ppt 1-50
Ppt 1-50hungchiayang1
1.6K visualizações50 slides
Ppt 1-25 por
Ppt 1-25Ppt 1-25
Ppt 1-25hungchiayang1
115.1K visualizações25 slides
Ch8 por
Ch8Ch8
Ch8Alisha Smile
104 visualizações75 slides
Ch8 教學 por
Ch8 教學Ch8 教學
Ch8 教學hungchiayang1
741 visualizações34 slides

Similar a ncuma_字串.pptx(20)

Ppt 51-77 por hungchiayang1
Ppt 51-77Ppt 51-77
Ppt 51-77
hungchiayang1122 visualizações
Ppt 51-77 por hungchiayang1
Ppt 51-77Ppt 51-77
Ppt 51-77
hungchiayang12.1K visualizações
Ppt 1-50 por hungchiayang1
Ppt 1-50Ppt 1-50
Ppt 1-50
hungchiayang11.6K visualizações
Ppt 1-25 por hungchiayang1
Ppt 1-25Ppt 1-25
Ppt 1-25
hungchiayang1115.1K visualizações
Ch8 por Alisha Smile
Ch8Ch8
Ch8
Alisha Smile104 visualizações
Ch8 教學 por hungchiayang1
Ch8 教學Ch8 教學
Ch8 教學
hungchiayang1741 visualizações
Python 入門 por Andy Yao
Python 入門 Python 入門
Python 入門
Andy Yao1K visualizações
Ppt 26-50 por hungchiayang1
Ppt 26-50Ppt 26-50
Ppt 26-50
hungchiayang13.9K visualizações
Ch5 教學 por hungchiayang1
Ch5 教學Ch5 教學
Ch5 教學
hungchiayang11.1K visualizações
Ch5 por Alisha Smile
Ch5Ch5
Ch5
Alisha Smile193 visualizações
ncuma_邏輯與迴圈.pptx por NCU MCL
ncuma_邏輯與迴圈.pptxncuma_邏輯與迴圈.pptx
ncuma_邏輯與迴圈.pptx
NCU MCL645 visualizações
Ch1 教學 por hungchiayang1
Ch1 教學Ch1 教學
Ch1 教學
hungchiayang113.5K visualizações
Ch12 por Alisha Smile
Ch12Ch12
Ch12
Alisha Smile17 visualizações
Ch5 por Alisha Smile
Ch5Ch5
Ch5
Alisha Smile85 visualizações
Ch12 教學 por hungchiayang1
Ch12 教學Ch12 教學
Ch12 教學
hungchiayang1577 visualizações
Ch1 por Alisha Smile
Ch1Ch1
Ch1
Alisha Smile128 visualizações
R code 1 por 慶彤 蔣
R code 1R code 1
R code 1
慶彤 蔣374 visualizações
Ch 6 por BMG2011
Ch 6Ch 6
Ch 6
BMG2011216 visualizações
Python learn guide por robin yang
Python learn guidePython learn guide
Python learn guide
robin yang465 visualizações
Ch2 教學 por hungchiayang1
Ch2 教學Ch2 教學
Ch2 教學
hungchiayang11.3K visualizações

Mais de NCU MCL

函數畫圖_習題4.pptx por
函數畫圖_習題4.pptx函數畫圖_習題4.pptx
函數畫圖_習題4.pptxNCU MCL
310 visualizações1 slide
數值積分法_3.pptx por
數值積分法_3.pptx數值積分法_3.pptx
數值積分法_3.pptxNCU MCL
937 visualizações1 slide
數值積分法_2.pptx por
數值積分法_2.pptx數值積分法_2.pptx
數值積分法_2.pptxNCU MCL
58 visualizações1 slide
數值積分法_1.pptx por
數值積分法_1.pptx數值積分法_1.pptx
數值積分法_1.pptxNCU MCL
64 visualizações1 slide
數值求根習題_1.pptx por
數值求根習題_1.pptx數值求根習題_1.pptx
數值求根習題_1.pptxNCU MCL
86 visualizações1 slide
函數微分習題_3.pptx por
函數微分習題_3.pptx函數微分習題_3.pptx
函數微分習題_3.pptxNCU MCL
535 visualizações3 slides

Mais de NCU MCL(20)

函數畫圖_習題4.pptx por NCU MCL
函數畫圖_習題4.pptx函數畫圖_習題4.pptx
函數畫圖_習題4.pptx
NCU MCL310 visualizações
數值積分法_3.pptx por NCU MCL
數值積分法_3.pptx數值積分法_3.pptx
數值積分法_3.pptx
NCU MCL937 visualizações
數值積分法_2.pptx por NCU MCL
數值積分法_2.pptx數值積分法_2.pptx
數值積分法_2.pptx
NCU MCL58 visualizações
數值積分法_1.pptx por NCU MCL
數值積分法_1.pptx數值積分法_1.pptx
數值積分法_1.pptx
NCU MCL64 visualizações
數值求根習題_1.pptx por NCU MCL
數值求根習題_1.pptx數值求根習題_1.pptx
數值求根習題_1.pptx
NCU MCL86 visualizações
函數微分習題_3.pptx por NCU MCL
函數微分習題_3.pptx函數微分習題_3.pptx
函數微分習題_3.pptx
NCU MCL535 visualizações
SymPy 在微積分上的應用_3.pptx por NCU MCL
SymPy 在微積分上的應用_3.pptxSymPy 在微積分上的應用_3.pptx
SymPy 在微積分上的應用_3.pptx
NCU MCL28 visualizações
SymPy 在微積分上的應用_2.pptx por NCU MCL
SymPy 在微積分上的應用_2.pptxSymPy 在微積分上的應用_2.pptx
SymPy 在微積分上的應用_2.pptx
NCU MCL27 visualizações
SymPy 在微積分上的應用_1.pptx por NCU MCL
SymPy 在微積分上的應用_1.pptxSymPy 在微積分上的應用_1.pptx
SymPy 在微積分上的應用_1.pptx
NCU MCL31 visualizações
極座標畫圖_3.pptx por NCU MCL
極座標畫圖_3.pptx極座標畫圖_3.pptx
極座標畫圖_3.pptx
NCU MCL12 visualizações
極座標畫圖_2.pptx por NCU MCL
極座標畫圖_2.pptx極座標畫圖_2.pptx
極座標畫圖_2.pptx
NCU MCL15 visualizações
極座標畫圖_1.pptx por NCU MCL
極座標畫圖_1.pptx極座標畫圖_1.pptx
極座標畫圖_1.pptx
NCU MCL12 visualizações
Taylor 多項式_3.pptx por NCU MCL
Taylor 多項式_3.pptxTaylor 多項式_3.pptx
Taylor 多項式_3.pptx
NCU MCL8 visualizações
Taylor 多項式_2.pptx por NCU MCL
Taylor 多項式_2.pptxTaylor 多項式_2.pptx
Taylor 多項式_2.pptx
NCU MCL11 visualizações
Taylor 多項式_1.pptx por NCU MCL
Taylor 多項式_1.pptxTaylor 多項式_1.pptx
Taylor 多項式_1.pptx
NCU MCL9 visualizações
微分方程式求解_3.pptx por NCU MCL
微分方程式求解_3.pptx微分方程式求解_3.pptx
微分方程式求解_3.pptx
NCU MCL43 visualizações
微分方程式求解_2.pptx por NCU MCL
微分方程式求解_2.pptx微分方程式求解_2.pptx
微分方程式求解_2.pptx
NCU MCL30 visualizações
微分方程式求解_1.pptx por NCU MCL
微分方程式求解_1.pptx微分方程式求解_1.pptx
微分方程式求解_1.pptx
NCU MCL26 visualizações
牛頓迭代法_3.pptx por NCU MCL
牛頓迭代法_3.pptx牛頓迭代法_3.pptx
牛頓迭代法_3.pptx
NCU MCL18 visualizações
牛頓迭代法_2.pptx por NCU MCL
牛頓迭代法_2.pptx牛頓迭代法_2.pptx
牛頓迭代法_2.pptx
NCU MCL17 visualizações

ncuma_字串.pptx

  • 1. 字 串 簡要 python 學習講義
  • 2. 字串  使用單引號或雙引號夾住的字元: ’abc’ , ”abc” , ”Tom’s”  跨列文字需使用三個引號: 2 a = ’’’國立中央大學 數學系’’’ b = ”國立中央大學n數學系” # a 與 b 是一樣的字串  以三個引號夾住某段程式碼不作設定,效果等同註解 for i in range(1,10) : ””” s = 0 for n in range(i) : s += n print( "sum of 0 .." , i , "is" , s ) ””” ...  此種跨列註解的第一個三引號仍需遵循縮排規定 國立中央大學數學系
  • 3. 字元 (一)  字串為萬國碼字元序列,以 UTF-8 編碼  len(字串):取得字串長度,即字元數  list(字串):分解字串成字元串列 3 >>> school = ’中央大學’ >>> foo = list(school) >>> foo [’中’, ’央’, ’大’, ’學’]  for 迴圈佚代取出字元 math = ’中央大學MATH’ # for 迴圈每次取出一個字元 for c in math : print( c , end=” - ” ) # 使用下標取得字元 for i in range(len(math)) : print( math[i] , end=” - ” ) 以上兩個迴圈都輸出 中 – 央 – 大 – 學 – M – A – T – H - 國立中央大學數學系
  • 4. 字元 (二)  特殊字元 4 ’ 單引號字元 反斜線字元 ooo 8 進位 ooo 字元 ” 雙引號字元 b 退後字元 xhh 16 進位 hh 字元 n 換列字元 t 定位字元  相等字元 ’m’ == ’155’ (八進位數) == ’x6d’ (十六進位數) 國立中央大學數學系
  • 5. 字串合成與複製  多個字串合成  跨列字串合成:使用小括號  字串合成:使用 +  字串複製: 使用 * 5 a = ”中央大學” ” ” ”數學系” # a = ”中央大學 數學系” b = ( ”春眠不覺曉,處處聞啼鳥。” ”夜來風雨聲,花落知多少。” ) c = ”中央大學” + ” ” + ”數學系” # c = ”中央大學 數學系” d = ”加油!” * 3 # d = ”加油!加油!加油!” 國立中央大學數學系
  • 6. 字串字元下標 ’中’ ’央’ ’大’ ’學’ ’數’ ’學’ ’系’ 0 1 2 3 4 5 6 -7 -6 -5 -4 -3 -2 -1 6 foo = "中央大學數學系" 字串 foo 正向下標 逆向下標 國立中央大學數學系
  • 7. 複製字串內部份字元 (一)  使用下標截取字元 7 a[:] 複製全部 a[i:j] 複製 a[i] 到 a[j-1] 間的字元 a[i:] 複製 a[i] 到末尾的所有字元 a[-i:] 複製末尾 i 個字元 a[:j] 複製前 j 個字元 a[i:j:k] 複製 a[i] , a[i+k] , a[i+2k] , ... 末尾下標需小於 j a[i:j:-k] 複製 a[i] , a[i-k] , a[i-2k] , ... 末尾下標需大於 j 國立中央大學數學系
  • 8. 複製字串內部份字元 (二)  順向複製  逆向複製 8 >>> a = ”中央大學 MATH” >>> b = a[:] # b = "中央大學 MATH"", a 與 b 各有獨立字串空間 >>> c = a[5:] # c = "MATH" >>> d = a[-4:] # d = "MATH" >>> e = a[0:3:2] # e = "中大" >>> a = ”NCU MATH” >>> b = a[-1:-5:-1] # b = ”HTAM” >>> c = a[-1::-1] # c = ”HTAM UCN” 逆轉字串 >>> d = a[::-1] # d = 同上  字串複製 b = a[:] 等同 b = a,但 a 若是串列,則兩者有差別 國立中央大學數學系
  • 9. 複製字串內部份字元 (三)  複合順逆向 9 >>> a = "NCU MATH" >>> b = a[-1:-5:-1] # b = "HTAM" >>> c = a[-4:][::-1] # c = 同上 逆向末四個字元 >>> d = a[:3][::-1] # d = ”UCN” 逆向前三個字元 國立中央大學數學系
  • 10. 數字與字串  float(foo):將數字字串 foo 轉型為浮點數  int(foo):將整數字串 foo 轉型為十進位整數  int(foo,x):將 x 進位的 foo 數字字串轉型為十進 位整數 10 >>> a = float(”3.14”) # a = 3.14 >>> b = int(”24”) # b = 24 >>> c = int(”24”,5) # c = 14 >>> d = int(”31”,16) # d = 49 >>> e = int(”0xff”,16) # e = 255 國立中央大學數學系
  • 11. 字串是不能更動型別 (immutable type)  字串設定後即不能更動  重新組合字串成新字串 11 >>> a = ”數學系” >>> a[2] = ”人” # 錯誤,字串字元無法更動 >>> a[:2] = ”物理” # 錯誤,字串字元無法更動 >>> b = ”理學院數學系” >>> b = b[:3] + ”物理” + b[-1] # b = ”理學院物理系” 國立中央大學數學系
  • 12. 字串分解 (一)  list(foo):分解 foo 字串為字元串列  foo.split(sep,n):分解 foo 字串,前 n 個字串依 sep 分隔字串分解 以下 sep 為一個或兩個星號 12 >>> a = ”MATH” >>> b = list(a) # b = [’M’, ’A’, ’T’, ’H’] >>> a = ”M-A-T-H”.split(’-’) # a = [’M’, ’A’, ’T’, ’H’] >>> b = ”M-A-T-H”.split(’-’,1) # b = [’M’, ’A-T-H’] >>> c = ”M-A-T-H”.split(’-’,2) # c = [’M’, ’A’, ’T-H’] >>> d = ”M--A--T--H”.split(’--’) # d = [’M’, ’A’, ’T’, ’H’] >>> e = ”M--A--T--H”.split(’-’) # e = [’M’, ’’, ’A’, ’’, ’T’, ’’, ’H’] >>> a = ”中*大***MATH”.split(”*”) # a = [’中’, ’大’, ’’, ’’, ’MATH’] >>> b = ”中*大***MATH”.split(”**”) # b = [’中 大’, ’*MATH’]  sep 不得為空字串 國立中央大學數學系
  • 13. 字串分解 (二)  foo.split():分解 foo 字串,取出非空格間的字元 13 >>> a = ”中 大 MATH”.split() # a = [’中’, ’大’, ’MATH’] >>> b = ” 中 大 MATH ”.split() # b = [’中’, ’大’, ’MATH’] >>> c = ”中 大nt MATH”.split() # c = [’中’, ’大’, ’MATH’]  python 的空格包含(’ ’)、換列(’n’)、定位(’t’)、回列首字元(’r’)  字串分解常與輸入合用,藉以一次設定許多變數 # 輸入三個整數以空格分開 >>> a , b , c = map( int , input("> ").split() ) > 2 4 9 >>> a + b + c 15 # 輸入以空格分開的整數存入串列 >>> d = list( map( int , input("> ").split() ) ) > 8 9 3 7 >>> d [8, 9, 3, 7] 國立中央大學數學系
  • 14. 字串合併  sep.join(foo):將字串或字串串列 foo 合併起來, 字串間有 sep 分隔字串  對調 年/月/日 成為 月/日/年 14 >>> a = ”--”.join([’中’, ’央’, ’大’, ’學’]) # a = ”中--央--大--學” >>> b = ””.join([’MA’, ’TH’]) # b = ”MATH” >>> c = ”-”.join( input(”-> ”) ) # c = ’1-2-3’ -> 123 >>> d = ”**”.join( ”ncu” ) # d = ’n c u’ >>> ”/”.join(”105/3/26”.split(’/’,1)[::-1]) 3/26/105 國立中央大學數學系
  • 15. 移除字串兩側空格  foo.strip() :去除 foo 字串兩側的空格,回傳剩餘的字串  foo.lstrip():去除 foo 字串左側的空格,回傳剩餘的字串  foo.rstrip():去除 foo 字串右側的空格,回傳剩餘的字串 15 >>> foo = " 中央大學 " >>> a = foo.strip() # a = "中央大學" >>> b = foo.lstrip() # b = "中央大學 " >>> c = foo.rstrip() # c = " 中央大學" >>> foo # foo 保持不變 " 中央大學 "  原始字串為 immutable,不會被變更 國立中央大學數學系
  • 16. format 格式輸出 (一)  使用 format 設定輸出格式:  format 輸出字串  設定輸出位置:{0},{1},…,{n}  設定輸出寬度、填補字元、精度、對齊方式 16  {n} 的 n 可以重複 >>> ”{}/{}/{}”.format(”1977”,8,10) ’1977/8/10’ >>> a = ”{}有 {} 公斤”.format(”香蕉”,148) # a = ’香蕉有148 公斤’ >>> a = ”{1}月 {2}日 {0}年”.format(2017,3,13) # a = ’3月 13日 2017年’ >>> b = ”{2}/{1}/{0}”.format(2017,3,13) # b = ’13/3/2017’ >>> a = ”{0}:{1:5} kg”.format(’香蕉’,234) # a = ’香蕉: 234 kg’ >>> b = ”{0:>4}:{1:#>5} kg”.format(’鳳梨’,234) # b = ’ 鳳梨:##234 kg’ >>> c = ’{0}:{1:#>7.2f} kg’.format(’芭樂’,234.5) # c = ’芭樂:#234.50 kg’ 國立中央大學數學系
  • 17. format 格式輸出 (二)  整數格式輸出  填補字元、對齊、寬度  進位方式 17  <、>、^ 分別為向左、向右、置中對齊符號,填補字元於其前,寬度於其後  進位字母置於寬度之後,b 二進位、o 八進位、x/X 小寫/大寫十六進位 >>> ”{0:#<5}{1:@>5}{2:*^6}”.format(123,45,67) ’123##@@@45**67**’ >>> ”{0:#<4}-{0:010b}-{0:#>4x}”.format(234) ’234#-0011101010-##ea’ 國立中央大學數學系
  • 18. format 格式輸出 (三)  整數格式輸出  正負號與其位置  逗點 18 >>> a = ”{0:#=+5}”.format(12) # a = ’+##12’ >>> b = ”{0:#>+5}”.format(12) # b = ’##+12’ >>> c = ”{0:#<+5}”.format(12) # c = ’+12##’ >>> d = ”{0:#^+5}”.format(12) # d = ’#+12#’ >>> e = ”{0:#=5}”.format(-12) # e = ’-##12’  寬度數字前的 + 號代表當整數為正數時則輸出正號 >>> a = ”{:#>12,}”.format(9834567) # a = ’###9,834,567’ 國立中央大學數學系
  • 19. format 格式輸出 (四)  浮點數格式輸出  小數點輸出  科學記號輸出  百分號輸出 19 >>> ”{:>f}”.format(12.239013533) # 預設小數點精度為 6 ’12.239014’ >>> ”{:#>7.2f}”.format(12.2390) # 7 格列印,小數佔用 2 格 ’##12.24’ >>> ”{0:e}{0:#>10.2e}{0:#>10.2E}”.format(12.2390) ’1.223900e+01##1.22e+01##1.22E+01’ >>> ’{0:%}||{0:#>.1%}||{0:#>10.2%}’.format(12.239) ’1223.900000%||1223.9%||##1223.90%’  7.2f 代表全部數字佔用 7 格,小數位數佔用 2 格  10.2e 代表全部數字佔用 10 格,小數位數佔用 2 格 國立中央大學數學系