博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python的字符串格式化 %r %s
阅读量:5174 次
发布时间:2019-06-13

本文共 1212 字,大约阅读时间需要 4 分钟。

格式符是为了给真实值预留位置,控制显示的格式。

格式符可以包含有一个类型码,用以控制显示的类型,如下:

%s    字符串 (采用str()的显示)

%r    字符串 (采用repr()的显示)

%c    单个字符

%b    二进制整数

%d    十进制整数

%i    十进制整数

%o    八进制整数

%x    十六进制整数

%e    指数 (基底写为e)

%E    指数 (基底写为E)

%f    浮点数

%F    浮点数,与上相同

%g    指数(e)或浮点数 (根据显示长度)

%G    指数(E)或浮点数 (根据显示长度)

 

%%    字符"%"

补充:%i%d都是表示有符号十进制整数,但%i可以自动将输入的八进制(或者十六进制)转换为十进制,而%d则不会进行转换。

补充 str与repr的区别

Python打印值的时候会保持该值在Python代码中的状态,不是用户所希望看到的状态。而使用print打印值则不一样,print打印出来的值是用户所希望看到的状态。 

例如:

>>> "Hello, world!"'Hello, world!'   # Python打印出来的值是给python理解的,这里python理解为字符串,所以带着引号>>> 1000L # python理解为Long型的数字,所以它打印出来的时候也带着后缀L 1000L >>> print "Hello, world!" # 打印一个字符串,给用户看的,所以不带引号 Hello, world! >>> print 1000L # 用户看到的当然是一个数字1000,而不是字符串1000L 1000

str和repr实际就分别对应上述两种显示方式。

  • str

    把值转换为合理形式的字符串,给用户看的。str实际上类似于int,long,是一种类型。

    >>> print str("Hello,  world!")Hello,  world!            >>> print str(1000L)1000 >>> str("Hello, world!") 'Hello, world!' # 字符串转换之后仍然是字符串 >>> str(1000L) '1000'
  • repr()

    创建一个字符串,以合法python表达式的形式来表示值。repr()是一个函数。

    >>> print repr("Hello,  world!")'Hello,  world!'>>> print repr(1000L) 1000L >>> repr("Hello, world!") "'Hello, world!'" >>> repr(1000L) '1000L'

总而言之,str出来的值是给人看的字符串,repr出来的值是给机器看的,括号中的任何内容出来后都是在它之上再加上一层引号。

更多参考:

转载于:https://www.cnblogs.com/hipphappy/p/10804927.html

你可能感兴趣的文章
jQuery中的事件绑定的几种方式
查看>>
泥塑课
查看>>
setImageBitmap和setImageResource
查看>>
springMVC4 注解配置实例
查看>>
单片机编程
查看>>
Filter in Servlet
查看>>
Linux--SquashFS
查看>>
Application Pool Identities
查看>>
2017-3-24 开通博客园
查看>>
【MySQL性能优化】MySQL常见SQL错误用法
查看>>
Vue2全家桶之一:vue-cli(vue脚手架)超详细教程
查看>>
Struts 2 常用技术
查看>>
树形DP
查看>>
python flask解决上传下载的问题
查看>>
语法测试
查看>>
CES1
查看>>
java webcontroller访问时报415错误
查看>>
qcow2、raw、vmdk等镜像格式
查看>>
Jzoj5455【NOIP2017提高A组冲刺11.6】拆网线
查看>>
特定字符序列的判断(1028)
查看>>