当前位置: 首页 > 后端技术 > Python

Python字符串格式化

时间:2023-03-26 11:50:49 Python

Python2.6,新增了一个格式化字符串的函数str.format(),增强了字符串格式化的功能。与旧的%格式方法相比,它有很多优点。1、在%方法中,%s只能替换字符串类型,但是在format中,不需要关心数据类型;2、单个参数可以多次输出,参数的顺序可以不同;3、填充方式非常灵活,对齐方式非常强大;4、官方推荐的方式,%方式在以后的版本中会被淘汰。字符串格式化1.按照默认顺序,不指定位置print("{}{}".format("hello","world"))helloworld2.设置指定位置,可以使用print("{0}次{1}{0}".format("hello","or"))hello或hello3.使用列表格式person={"name":"opcai","age":20}print("Mynameis{name}.Iare{age}yearsold.".format(\*\*person))Mynameisopcai.我今年20岁.4,格式stu=\["opcai","linuxbylist","MySQL","Python"\]print("Mynameis{0\[0\]},Ilove{0\[1\]}!".format(stu))我叫opcai,我喜欢linux!数值格式数值格式输出说明3.1415926{:.2f}3.14保留两位小数3.1415926{:+.2f}+3.14符号保留两位小数-1{:+.2f}-1.00符号保留两位小数2.71828{:.0f}3不带小数5{:0>2d}05数值补零(左补,宽度为2)5{:x<4d}5xxx数字补齐x(右补,宽度补4的x)10{:x<4d}10xx数字(右填,宽度为4)1000000{:,}1,000,000逗号分隔的数字格式0.25{:.2%}25.00%百分比格式1000000000{:.2e}1.00e+09指数表示法13{:10d}13右对齐(默认,宽度为10)13{:<10d}13左对齐(宽度为10)13{:^10d}13中间对齐(宽度为10)十六进制转换数字格式输出说明11'{:b}'.format(11)1011binary11'{:d}'.format(11)11decimal11'{:o}'.format(11)13octal11'{:x}'.format(11)bhex11'{:#x}'.format(11)0xbhex11'{:#X}'.format(11)0XB十六项系统*^、<、>分别居中、左对齐、右对齐,后跟width,:号后面有padding的字符只能是一个字符。如果不指定,默认用空格填充+表示在正数前显示+,在负数前显示-;(space)表示在正数b、d、o、x分别为二进制、十进制、八进制、十六进制前加空格。*输出大括号print("{}{{0}}".format("opcai\_linux"))opcai\_linux{0}