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)

因为长度也包含小数点和小数点後的位数,所以下面例子只会补上两个空格


<<:  Day 12: 验收测试、测试策略 (待改进中... )

>>:  Day 27 - [实战练习] Pricing Sections

为什麽js中使用了很多的callback方式?

之前写自动化程序的时候,有些算法or通讯(串口或者Tcp)都需要时间,这个时候,往往可以去做其他的事...

随身碟无法读取,在磁碟管理中显示为No Media

本文将向您说明修复随身碟无法读取,在磁碟管理中显示为No Media错误的详细步骤。如何修复USB在...

IOS、Python自学心得30天 Day-19 TensorFlowLiteSwift模组

前言: 已经有了模型後 我想将它导入到手机上! 虽然IOS要有开发帐户才能做即时辨识的功能 但若可以...

[Day30] 初探视觉化

今天是最後一天,终於… 我选择最後能初探一下的,就是资料视觉化啦。 Kibana Visualize...

D-01-总结 ? dotnetcore

最後一天 终於来到30天的最後一天,不过今天不跟大家分享关於dotnetcore的部分,今天就针对这...