python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python格式化字符串

python格式化字符串的实战教程(使用占位符、format方法)

作者:HHYZBC

我们经常会用到%-formatting和str.format()来格式化,下面这篇文章主要给大家介绍了关于python格式化字符串的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

格式化字符串是什么?

Python字符串的格式化处理主要是用来将变量(对象)的值填充到字符串中,在字符串中解析Python表达式,对字符串进行格式化显示(左对齐、右对齐、居中对齐,保留数字有效位数)。

1.使用占位符格式化字符串:

使用占位符格式化输出时:在%后面加数字表示给这个字符多少个位置,不足电脑会自动使用空格补齐。正数表示左对齐,负数表示右对齐。如:%4d表示左对齐一共占4的位置,%-8d表示右对齐一共占8个位置

占位符:

  1. %s :字符串的格式化,也是最常用的
  2. %d :格式化整数,也比较常用
  3. %c :格式化字符及ASCII码
  4. %f :格式化浮点数,可以指定小数后面的精度,默认是小数点6位
  5. %o :格式化无符号八进制数
  6. %x :格式化无符号十六进制数
  7. %e : 将整数、浮点数转换成科学计数法
  8. %%: 当字符串中存在格式化标志时,需要用 %%表示一个百分号;

例子:

占位符%s、%c、%%的使用:

name='小明'
print('%s的使用:')
print('我的名字叫%s!'%(name))
print('我的名字叫%4s!'%(name))   #右对齐
print('我的名字叫%-4s!'%(name))  #左对应
#由于在python中只有字符串这种类型,使用在这里%c只能表示ASCII码,并不能表示字符
character=56
print('c的使用:')
print('%d在ASCII码中表示字母%c'%(character,character))
schedule=99
print('%%的使用:')
print('当前下载进度为%d%%!'%(character))

由于在python中只有字符串这种类型,所以在python中%c只能表示ASCII码,并不能表示字符 !

 占位符%d、%o、%x的使用:

number=18
print('%d使用十进制为:%d'%(number,number))      #十进制
print('%d使用八进制为:%o'%(number,number))      #八进制
print('%d使用十六进制为:%x'%(number,number))    #十六进制

 如果在表示八进制或者十六进制时想显示各进制的前缀时,在%后面加一个#就好:

number=200
print('%d使用八进制为:%#o'%(number,number))
print('%d使用十六进制为:%#x'%(number,number))

占位符 %f、%e的使用:

high=174.5
print('我的身高有%f米'%(high))                    #默认情况
print('我的身高有%.1f米'%(high))                  #小数点保留1位
print('%f使用科学记数法为:%e'%(high,high))

2.使用format方法格式化输出:

1.不设置指定位置:

name = "{}在{}玩了一天的{}"
data = name.format("小明","网吧","LOL")
print(data)

 2.设置指定名称:

name = "{name}在{Location}玩了一天的{game}"
data = name.format(Location="网吧",game="LOL",name="小明")
print(data)

3.设置指定位置 :

name = "{2}在{0}玩了一天的{1}"
data = name.format("网吧","LOL","小明",)
print(data)

 注意:指定位置是从0开始算起,而不是1!

总结

到此这篇关于python格式化字符串的文章就介绍到这了,更多相关python格式化字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文