iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0
Software Development

0基礎也看得懂的程式設計-30天學會 Python系列 第 12

30天學會 Python: Day 11- 一個蘿蔔一個坑

print() 可以一次把多個不同型別的資料轉換成字串並顯示出來
但是資料和資料間隔的符號都會一樣

year=2021
month=10
day=11
hour=14
minute=19
second=20

print(year, month, day, hour, minute, second)

如果數值間的符號不同,可以在引數間加上字串

year=2021
month=10
day=11
hour=14
minute=19
second=20

print(year, '-', month, '-', day, hour, ':', minute, ':', second)

或是把數值轉換成字串,再用 + 把它們串起來

year=2021
month=10
day=11
hour=14
minute=20
second=20

date=str(year)+'-'+str(month)+'-'+str(day)
time=str(hour)+':'+str(minute)+':'+str(second)
print(date, time)

格式化字串

格式化字串的目的是把變數轉換成字串,再將轉換後的內容放到字串中預留的位置
雖然只用 print() 已可以應付大部分情況,但遇到字串格式較複雜的情形,就必須與用格式化字串

Python 中格式化字串的方法有兩種

format(var1, var2, ...)

在字串中用 {} 預留給變數的位置,再透過方法 format() 把變數依序放到預留位置中

下面例子中,字串中的 {} 會被變數 x 的值取代

x=100
print('>>{}<<'.format(x))

format() 有多個引數時,會依序被放到字串中

year=2021
month=10
day=11
hour=14
minute=20
second=20

s='{}-{}-{} {}:{}:{}'.format(year, month, day, hour, minute, second)

%

在字串後加上 %(var1, var2, ...) 可以達到複雜度更高的格式
使用這種方法時,預留位置因為型別不同而不同,整數是 %d,浮點數是 %f,字串是 %s

x=10
y=20
print('%d-%d=%d'%(x, y, x-y))

最小長度

在預留位置的 % 後面加上數字代表最小長度,如果資料轉換成字串後長度不足,會自動補上空格

x=10
y=20
print('%d'%x)
print('%d'%y)
print('%3d'%x)
print('%3d'%y)

後兩個字串中,預留位置的最小長度是3,但10和20長度只有2,所以前面會補上一個空格

在最小長度前加上0,會改成用0補足長度

x=10
y=20
print('%04d'%x)
print('%04d'%y)

字串比最小長度長則不會改變

x=12344
y=2463
print('%3d'%x)
print('%3d'%y)

小數位數

如果是浮點數,在 f 前加上 .<小數位數> 設定小數位要顯示到第幾位

x=10
y=20
print('%.2f'%x)
print('%.6f'%y)

x=10.2435
y=20.1224
print('%.3f'%x)
print('%.3f'%y)

可以和最小長度一起使用

x=10.2435
y=20.1224
print(x)
print('%8.3f'%y)

因為長度也包含小數點和小數點後的位數,所以下面例子只會補上兩個空格


上一篇
30天學會 Python: Day 10-讀進來!寫出去!
下一篇
30天學會 Python: Day 12-人生苦短,使用 Python
系列文
0基礎也看得懂的程式設計-30天學會 Python30

尚未有邦友留言

立即登入留言