iT邦幫忙

2024 iThome 鐵人賽

DAY 5
0

第二章後半描述如何處理字串資料、資料類型轉換以及格式化字串
那就先從處理字串開始,如果字串超過一行可以使用加號串接多個字串也可以透過轉義指令讓文字擺在自己想要的位置

串接數段字串的方法還有有三種:

  • 在每一段結尾加上「續行」符號(反斜線)
  • 使用小括號包圍每一段字串
  • 使用三個連續單引號包圍多行文

轉義字元:

\ :續行,放行尾
\ :顯示一個反斜線
\n :新行,想換行時使用
\r :歸位,使字元不具轉義功能
\t:縮排,空四格=tab

資料類型轉換指令

upper() :字串轉大寫 ans = input().upper()
lower() :字串轉小寫
strip() :去除字串前後的多餘空白

資料類型也有很大的區別,共分為三種

字串、數字、布林,因此10不等於‘10’
str() :使數字轉成字串 str(123) => ‘123’
int() :把數值串轉為整數
float() :把數字串轉成浮點數(有小數的整數)
type() :可以查看資料類型

小提示

  1. 執行 int()或 float()函式時數值字串包含小數點和加、減以外的字元,將會引發錯誤
  2. 使用 print()函式輸出文字和字串以外的類型資料時,可直接用逗號分隔輸出內容,無須透過 str()轉換成字串

接下來是格式化字串
格式字串也有三種,不過是慢慢演變而來的,因此大多使用第三個,處理效率最高

第一是%字元

%d :整數
%f :浮點數字
%s :字串
%x :16進制數字

例子:
“姓名:%s, 座號:%d” % (name, id)

num = 70.8
“海洋佔了地球表面的%.2f%%” % num
(f前面的.2為取到小數點後2位)

第二是format()

例子:
msg = ' {x} 今年 {y} 歲。'
msg = msg.format(y=10, x='小趙')
print(msg)
-> 小趙 今年 10 歲。

print('體積縮小{:.3f}%'.format(33.45678))
-> 體積縮小33.457%

:冒號為指定操作內容
冒號前面也可以加上參數編號

冒號後面如果為整數代表預留空間的字元數
預設會靠右對齊,可以使用< ^ >齊左居中齊右
冒號後面也可自訂填入字元

print('{:5},{:^8},{:=4}'.format(12, 34, 89))
->    12,   34   ,==89

第三是f字串

可以在字串的預留位置填入變數和運算是
f字串也支援format()格式,語法相同

例子:
r = 9
f‘若半徑={r},圓面積={3.14 *r **2}’
-> 若半徑=9,圓面積=254.34

txt = ‘我是分隔線’
print(f‘{txt:=^11}’)
-> === 我是分隔線 ===


第二章重點回顧

  • 資料分成不同類型,例如數字、字串和布林。
  • 「物件」是資料(屬性)和操作功能(方法)的綜合證 透過 dir()指令可童看物件具備的屬性和方法。
  • 單行程式註解用 #(井號)開頭,多行註解用一對連續3個單引號或雙引號包圍。
  • 依照某個狀況來決定執行哪些動作的「控制結構」是 if…elif…else,每個動作區塊都要縮排,PEP8 語法規範建議用 4 個空格來建立縮排。
  • 不同的字串資料可用+號,以及 %字元、format() 函式和f字串等方式相連。

上一篇
Day04 變數
下一篇
Day06 列表
系列文
從0開始學PYTHON30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言