python基础—字符串处理_百分号拼接_format拼接

本文介绍了Python中两种字符串格式化的方法:百分号方式和format方式。包括格式化的基本语法、对齐方式、数字类型处理等,并提供了多个实例演示。

Python的字符串格式化有两种方式: 百分号方式、format方式

1.百分号方式

常用的格式化

tpl = "i am %s" % "alex"
 
tpl = "i am %s age %d" % ("alex", 18)
 
tpl = "i am %(name)s age %(age)d" % {"name": "alex", "age": 18}
 
tpl = "percent %.2f" % 99.97623    #打印浮点数
 
tpl = "i am %(pp).2f" % {"pp": 123.425556, }
 
tpl = "i am %.2f %%" % {"pp": 123.425556, }    #打开百分比

 示例:

①%s 可以字符串拼接

msg='i am %s,my age is %s'%('Christian',18)
print(msg)
i am Christian,my age is 18

 ②%s可以接收列表

msg='i am %s,my hobbys are %s'%('Christian',['coding','play'])
print(msg)
i am Christian,my hobbys are ['coding', 'play']

③%d只能接收数字

④不用格式化的方式

print('root','x','0','0',sep=':')
root:x:0:0

2.format形式

[[fill]align][sign][#][0][width][,][.precision][type]
    • fill           【可选】空白处填充的字符
    • align        【可选】对齐方式(需配合width使用)
      • <,内容左对齐
      • >,内容右对齐(默认)
      • =,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字
      • ^,内容居中
    • sign         【可选】有无符号数字
      • +,正号加正,负号加负;
      •  -,正号不变,负号加负;
      • 空格 ,正号空格,负号加负;
    • #            【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示
    • ,            【可选】为数字添加分隔符,如:1,000,000
    • width       【可选】格式化位所占宽度
    • .precision 【可选】小数位保留精度
    • type         【可选】格式化类型
      • 传入” 字符串类型 “的参数
        • s,格式化字符串类型数据
        • 空白,未指定类型,则默认是None,同s
      • 传入“ 整数类型 ”的参数
        • b,将10进制整数自动转换成2进制表示然后格式化
        • c,将10进制整数自动转换为其对应的unicode字符
        • d,十进制整数
        • o,将10进制整数自动转换成8进制表示然后格式化;
        • x,将10进制整数自动转换成16进制表示然后格式化(小写x)
        • X,将10进制整数自动转换成16进制表示然后格式化(大写X)
      • 传入“ 浮点型或小数类型 ”的参数
        • e, 转换为科学计数法(小写e)表示,然后格式化;
        • E, 转换为科学计数法(大写E)表示,然后格式化;
        • f , 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
        • F, 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
        • g, 自动在e和f中切换
        • G, 自动在E和F中切换
        • %,显示百分比(默认显示小数点后6位)

常用格式

tpl = "i am {}, age {}, {}".format("seven", 18, 'alex')
  
#必须一一对应,否则会报错
tpl = "i am {}, age {}, {}".format(*["seven", 18, 'alex'])
  

tpl = "i am {0}, age {1}, really {0}".format("seven", 18)
  

tpl = "i am {0}, age {1}, really {0}".format(*["seven", 18])
  

tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
  

tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})
                                                     ** 代表传字典

tpl = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])
  

tpl = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1)
             s 代表字符串 d 代表整数

tpl = "i am {:s}, age {:d}".format(*["seven", 18])
                                   * 代表列表

tpl = "i am {name:s}, age {age:d}".format(name="seven", age=18)
  

tpl = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18})
 

tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
                2进制 8进制 10进制  x与X: 16进制 %:百分比

tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
 

tpl = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15)
 

tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)

 

转载于:https://www.cnblogs.com/huiyichanmian/p/8780907.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值