Python中常见的字符串格式化方式包括两种:字符串插入(str%),format函数(str.format())

1、字符串插入

字符串插入是设置字符串格式的简单方法,与C语言、Fortran语言差别不大。示例如下:

>>> a, b, c = 'cat', 6, 3.14
>>> s = 'There\'s %d %ss older than %.2f years.' % (b, a, c)
>>> s
"There's 6 cats older than 3.14 years."

一些转换说明符见下表:

d 整数
o 八进制数
x 小写十六进制数
X 大写十六进制数
e 小写科学记数浮点数
E 大写科学计数浮点数
f 浮点数
s 字符串
% %字符

2、format函数

字符串函数format()是灵活构造字符串的方法。

  • 命名替换
>>> s = 'My {pet} has {prob}.'.format(pet = 'dog', prob = 'fleas')
>>> s
'My dog has fleas.'
  • 位置替换
>>> s = 'My {0} has {1}.'.format('dog', 'fleas')
>>> s
'My dog has fleas'

一些灵活的用法:

#使用转换说明符
>>> print('1/81 = {x:.3f}'.format(x = 1/81))
1/81 = 0.012
#可以通过变量设定格式参数,字符串插入无法做到这点
>>> print('1/81 = {x:.{d}f}'.format(x = 1/81, d = 5))
1/81 = 0.01235
#x!r,x!s的意思分别指:repr(x),str(x)
>>> '({0!r}, {0!s})'.format('test')
"('test', test)"
#特别的,千位金额输出数字,遇到才知道有这种用法
>>> '{:,}'.format(987654)
'987,654'

总结

对于创建格式简单的字符串,字符串插入方式足够直观、简便;format函数可更灵活、强大地构造字符串,适合庞大、复杂的工作,如创建网页等。

python中的字符串格式化的更多相关文章

  1. python 中的字符串格式化

    python 中的字符串格式化 %方式的调用 1.格式化代码 代码 意义 s 字符串,使用str r 字符串,使用repr不使用str c 字符 d 十进制的数字 i 整数 u 无符号整数 o 八进制 ...

  2. Python中的字符串处理

    Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符.如下表: 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a ...

  3. 使用js在HTML中自定义字符串格式化方法

    Python中支持字符串格式化,其基本形式如下: str = "I'm {name},{age} years old" print(str.format(name="te ...

  4. Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助

    Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助 目录 Pychar ...

  5. python中的字符串

    一.在python中,字符串是不可变类型 通过以下代码说明: >>> s = 'hello, world' >>> id(s) 2108634288304 > ...

  6. Python中的字符串方法

    Python中的字符串方法 字符串类即str提供了许多有用的方法来操纵字符串.具体来说,我们将讨论如下的方法. 搜索字符串内的子字符串. 测试字符串. 格式字符串. 转换字符串. 回顾前面的章节,方法 ...

  7. Python中的字符串操作总结(Python3.6.1版本)

    Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...

  8. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况

    一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...

  9. Python中Unicode字符串

    Python中Unicode字符串 字符串还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte ...

随机推荐

  1. Codeforces 791B Bear and Friendship Condition(DFS,有向图)

    B. Bear and Friendship Condition time limit per test:1 second memory limit per test:256 megabytes in ...

  2. HDU 4010 Query on The Trees

    Problem Description We have met so many problems on the tree, so today we will have a query problem ...

  3. Vijos P1066 弱弱的战壕【多解,线段树,暴力,树状数组】

    弱弱的战壕 描述 永恒和mx正在玩一个即时战略游戏,名字嘛~~~~~~恕本人记性不好,忘了-_-b. mx在他的基地附近建立了n个战壕,每个战壕都是一个独立的作战单位,射程可以达到无限(“mx不赢定了 ...

  4. Android Studio解决导入项目非常慢的问题

    http://www.androidchina.net/5527.html Android Studio比Eclipse ADT有巨大的优势. Android Studio原生支持使用Gradle来构 ...

  5. [学习OpenCV攻略][008][Canny边缘检测]

    cvGetSize(输入图片) 得到输入图片的大小 cvCanny(输入图片,输出图片,lowThresh,highThresh,aperture) 把输入图片按设定光圈值进行Canny边缘检测,然后 ...

  6. Oracle_insert_delete_update

    Oracle_insert_delete_update --复制表格的结构 create table temp as (select * from emp where 1=2); select * f ...

  7. JSP内置对象1(request,response,session)

    request对象 response对象:请求重定向与请求转发的区别. session对象:表示客户端与服务器的一次会话,也就是用户浏览网站所花费的时间.在服务器的内存中保存着不同用户的session ...

  8. 【编程技巧】Ext.MessageBox 大集合 不同的dialog图解加写法

    1.alert对话框 效果图: function a1(){ Ext.MessageBox.alert('title','text');  } 2.confirm案例,确定不确定2个按钮对话框 效果图 ...

  9. Weblogic jsp页面编译出错,Weblogic jsp编译异常

    Weblogic jsp页面编译出错,Weblogic jsp编译异常 ======================== 蕃薯耀 2018年1月29日 http://www.cnblogs.com/f ...

  10. [one day one question] nodejs require 缓存,无法检测文件变化

    问题描述: nodejs require 缓存,无法检测文件变化,当文件require引入后,当文件发生变动后即使再次使用require,返回的依然是第一次引入的文件内容,这怎么破? 解决方案: de ...