大佬们,关于字符串的使用方法format()
今天做15讲的题目顺便试了下其他格式化符号。。为什么在idle直接用%s 格式化数字就可以,放在 format()里数字就必须是字符串格式才不会报错。
以及%d在idle格式化浮点数可以,放在 format()里数字是浮点数就会报错。。
百思不得其解。。
format 格式化的格式是 '{}{}'.format(x,y) 是用 {} 来代表格式化占位符
而 % 号格式化才是用 '%s%d' 之类的格式化占位符来占位的
可以看下下面这个帖子,有助于你对格式化的理解:
实用干货:字符串格式化
https://fishc.com.cn/thread-145610-1-1.html
(出处: 鱼C论坛)
format的相比于str%
s% 和 r% 变成了 !s !r (不需要冒号)
'{!s}、{!a}、{!r}' #分别表示str、ascii和repr方法。
没要求是字符串类型 实现了__format__魔术方法即可使用格式化
数字类型
>>> '{:d}'.format(12)
'12'
>>> '{:.1f}'.format(12)
'12.0
其他类型 比如时间日期类型
>>> import datetime
>>> night = datetime.time(22,30,tzinfo=datetime.timezone(datetime.timedelta(hours=8), name = '北京'))
>>> '现在是{:%Z}时间{:%H}点{:%M}分'.format(night,night,night)
'现在是北京时间22点30分'
>>> format(night,'现在是%Z时间%H点%M分')
'现在是北京时间22点30分'
更推荐内置函数format或者f字符串
页:
[1]