python 中format()方法

格式化字符串的函数 **str.format(),**它增强了字符串格式化的功能。

基本语法是通过 {}: 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。
<模板字符串>.format(<逗号分隔的参数>)
调用format()方法后会返回一个新的字符串,参数从0 开始编号。

>>>"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
'hello world'
 
>>> "{0} {1}".format("hello", "world")  # 设置指定位置
'hello world'
 
>>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
'world hello world'
>>> "{}:计算机{}的CPU 占用率为{}%。".format("2016-12-31","PYTHON",10)
 '2016-12-31:计算机PYTHON的CPU 占用率为10%。'

也可以设置参数:

print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
 
# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
 
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的
# 网站名:菜鸟教程, 地址 www.runoob.com
# 网站名:菜鸟教程, 地址 www.runoob.com
# 网站名:菜鸟教程, 地址 www.runoob.com

也可以进行填充:

s = "PYTHON"
 
"{0:30}".format(s)
# 'PYTHON                        '
 
"{0:>30}".format(s)
# '                        PYTHON'
 
"{0:*^30}".format(s)
# '************PYTHON************'
 
"{0:-^30}".format(s)
#' ------------PYTHON------------'
 
"{0:3}".format(s)
# 'PYTHON'

逗号(,)
用于显示数字的千位分隔符,例如:

"{0:-^20,}".format(1234567890)
# '---1,234,567,890----'
 
"{0:-^20}".format(1234567890) #对比输出
# '-----1234567890-----'
 
"{0:-^20,}".format(12345.67890)
# '----12,345.6789-----'

<.精度>
表示两个含义,由小数点(.)开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度

"{0:.2f}".format(12345.67890)
#'12345.68'     保留小数点后两位数字
 
"{0:H^20.3f}".format(12345.67890)
# 'HHHHH12345.679HHHHHH'
 
"{0:.4}".format("PYTHON")
# 'PYTH'			最大长度输出4位

表示输出整数和浮点数类型的格式规则。
对于整数类型输出格式包括6 种:

b: 输出整数的二进制方式;
c: 输出整数对应的 Unicode 字符;
d: 输出整数的十进制方式;
o: 输出整数的八进制方式;
x: 输出整数的小写十六进制方式;
X: 输出整数的大写十六进制方式;

**对于浮点数类型,**输出格式包括4 种:
e: 输出浮点数对应的小写字母 e 的指数形式;
E: 输出浮点数对应的大写字母 E 的指数形式;
f: 输出浮点数的标准浮点形式;
%: 输出浮点数的百分形式。
浮点数输出时尽量使用<.精度>表示小数部分的宽度,有助于更好控制输出格式。


格式化字符串
通过%匹配字符串和被格式对象之间的一一对应关系。

  1. %c:格式化编码
    s = ‘my name is %c’%97
  2. %s:格式化字符串
    s = ‘my name is %s’%‘雷麟’
  3. %d:格式化整数
    s = ‘this is %d’%123
  4. %o:格式化无符号八进制:
    s = ‘this is %o’%123
  5. %x:格式化无符号十六进制
    s = ‘this is %x’%14
  6. %f:格式化定点数
    s = ‘%f’%1.5
    四舍五入小数点后六位
# 通过%匹配字符串和被格式对象之间的一一对应关系。
# 1. %c:格式化编码
s = 'my name is %c'%97
print(s)        # my name is a

# 2. %s:格式化字符串
s = 'my name is %s'%'雷麟'
print(s)        # my name is 雷麟


# 3. %d:格式化整数
s = 'this is %d'%123
print(s)        # this is 123


# 4. %o:格式化无符号八进制:
s = 'this is %o'%123
print(s)        # this is 173

# 5. %x:格式化无符号十六进制
s = 'this is %x'%14
print(s)        # this is e


# 6. %f:格式化定点数(四舍五入小数点后六位)
s = '%f'%1.5
print(s)            # 1.500000

转义字符

作用:拥有特殊含义的字符
\t:横向制表符,table,Tab,一般默认是四个空格
\n:换行,回车
\r:windows下的换行
\f:分页符
\:可以让转义字符失去意义

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值