使用%格式化字符串

字符串格式化使用格式化操作符即百分号。

在%号的左侧放置一个字符串(格式化字符串),而右侧则放置希望格式化的值。

In [17]: name = "wxz"

In [18]: print "my name is %s" % name
my name is wxz

基本的转换说明符保护以下部分:

  • %字符:标记转换说明符的开始
  • 转换标志(可选):-表示左对齐;+表示在转换值前加上正负号;“”(空白)表示正数之前保留空格;0表示转换值位数不够用0填充。
  • 最小字段宽度(可选):转换后的字符串至少应该具有该值指定的宽度。如果是,则宽度会从值元素中读出。
  • 点(.)后跟随精度值(可选):如果是实数则表示小数点后的位数,如果是字符串,则表示最大宽度。
  • 转换类型(常用的)

    %d: 表示带符号的十进制整数

    %s:表示使用str替换任意python对象

    %f:表示十进制浮点数

In [27]: "%10f" % pi        #宽度为10
Out[27]: ' 3.141593' In [28]: "%10.2f" % pi #宽度为10,精度为2
Out[28]: ' 3.14' In [29]: "%010.2f" % pi #宽度为10,精度为2,用0填充
Out[29]: '0000003.14' In [30]: "%-10.2f" % pi # 左对齐
Out[30]: '3.14 ' In [31]: "%+10.2f" % pi # 在实数前面加上正负号
Out[31]: ' +3.14'

使用.format格式化

format是一种格式化函数,它通过{}和:来代替%。

通过位置代替

In [190]: "{0},{1}".format("hello","world")   ####位置指的是format中参数的位置
Out[190]: 'hello,world' In [191]: "{1},{0}".format("hello","world")
Out[191]: 'world,hello' In [192]: "{1},{0}".format("world","hello")
Out[192]: 'hello,world' In [193]: "{1},{0},{1}".format("world","hello")
Out[193]: 'hello,world,hello'

通过关键字参数

In [195]: "{age},{name}".format(age=21,name="wxz")
Out[195]: '21,wxz' In [196]: "{name},{age}".format(age=21,name="wxz")
Out[196]: 'wxz,21'

注意python的版本不同,使用格式略有差异

In [11]: "{},{}".format("hello","world")        ####省略位置的指明则按默认参数顺序显示
Out[11]: 'hello,world' In [12]: "{},{}".format("world","hello")
Out[12]: 'world,hello'
##若在python2.6版本中执行,必须明确制定其位置
In [200]: "{0},{1}".format("hello","world")
Out[200]: 'hello,world'

还可以通过列表,元组等的下标访问。

In [32]: greet = ["Welcome", "to", "NEWYORK"]

In [33]: "{0[0]},{0[1]},{0[2]}".format(greet)
Out[33]: 'Welcome,to,NEWYORK' In [34]: city = ["HK", "Beijing"] In [35]: "{0[0]},{0[1]},{1[1]}".format(greet,city) # 注意使用方法
Out[35]: 'Welcome,to,Beijing' In [37]: "{0[0]},{0[1]},{1[0]}".format(greet,city)
Out[37]: 'Welcome,to,HK'

#格式限定符
#它有着丰富的的“格式限定符”(语法是{}中带:号),比如:

#填充与对齐
#填充常跟对齐一起使用
#^、<、>分别是居中、左对齐、右对齐,后面带宽度
#:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

#比如,环境为python2.6
In [210]: "{0:>}".format("") ###这两个都为右对齐,注意宽度。
Out[210]: '' In [211]: "{0:>9}".format("")
Out[211]: ''
#python2.7中可以如下表示
In [13]: "{:>}".format("")
Out[13]: '' In [14]: "{:>5}".format("")
Out[14]: ''

精度与类型

#精度经常与float类型一起使用
In [16]: "{:.3f}".format(3.1415926)
Out[16]: '3.142' In [18]: "{:b}".format(15) ######二进制格式化
Out[18]: '' In [19]: "{:d}".format(15) #####十进制格式化
Out[19]: '' In [20]: "{:o}".format(15) ####八进制格式化
Out[20]: '' In [21]: "{:x}".format(15) ####十六进制格式化
Out[21]: 'f'

货币金额表示

In [23]: "{:,}".format(9651223456)
Out[23]: '9,651,223,456'

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

  1. Python——字符格式化

    一.分类:%格式符方式,format方式 二.%格式符 1.%s——字符占位,%d——数字占位(十进制) a = ("%(name)s--%(age)d" % {'name':'x ...

  2. 学习PYTHON之路, DAY 5 - PYTHON 基础 5 (装饰器,字符格式化,递归,迭代器,生成器)

    ---恢复内容开始--- 一 装饰器 1 单层装饰器 def outer(func): def inner(): print('long') func() print('after') return ...

  3. Python 字符串格式化

    Python 字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存 一 ...

  4. python字符串格式化 %操作符 {}操作符---总结

    Python字符串格式化 (%占位操作符) 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出.Python中内置有对字符串进行格式化的操作 %. 模板 格式化字 ...

  5. Python打印格式化与字符串

    关于Python打印格式化与字符串,比较全面的总结,希望对大家有帮助~ # -*- coding: cp936 -*- ''' 打印格式 ''' print "a" print & ...

  6. Python基本格式化输出

    什么叫格式化输出? 数据按照某种特殊的要求输出 假如输入一个整数,希望整数按照十六进制,八进制输出,如果输入一个小数,希望小数保留后面2位数然后输出,或者以科学计数法的方式来输出小数.字符串的输出希望 ...

  7. 【转】Python字符串格式化

    Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中. 在 Python 中,字符串格式化使用与 C 中 sp ...

  8. python数据格式化之pprint

    python数据格式化之pprint 2017年06月17日 13:56:33 阅读数:2291 简介 pprint模块 提供了打印出任何Python数据结构类和方法. 模块方法: 1.class p ...

  9. python字符串格式化之学习笔记

    在python中格式化输出字符串使用的是%运算符,通用的形式为 •格式标记字符串 % 要输出的值组其中,左边部分的”格式标记字符串“可以完全和c中的一致.右边的'值组'如果有两个及以上的值则需要用小括 ...

随机推荐

  1. zabbix 监控 ElasticSearch

    ElasticSearch  可以直接使用zabbix官方的模板 模板地址: https://github.com/mkhpalm/elastizabbix 通过zabbix server 直接监控 ...

  2. statement对象与sql语句(新手)

    本篇介绍读上篇代码中的疑惑点 实现简单网页上对数据内容进行增删改查,需要用到三个部分:jsp网页前端部分+java后台程序+数据库表 一.创建一个Statement (用于在已经建立数据库连接的基础上 ...

  3. 移动端--touch事件与点透问题

    也来说说touch事件与点击穿透问题: http://blog.csdn.net/alex8046/article/details/52299785

  4. iOS 开发笔记-Objective-C之KVC、KVO

    概述 键值编码(KVC).键值监听(KVO)特性 键值监听KVO Key Value Observing(简称KVO)其实是一种观察者模式,利用它可以很容易实现视图组件和数据模型的分离,当数据模型的属 ...

  5. 「美团外卖APP签约快捷支付」流程体验

    §1 添加银行卡 新用户在美团外卖APP订餐支付时,首先要绑定银行卡.如下是“添加银行卡”页,输入卡号后,系统自动调用卡bin库校验卡号的有效性,如果有效会显示发卡行和卡类型(借记卡/贷记卡).  这 ...

  6. Flex中如何利用FocusManager类的setFocus函数设置TextInput的焦点的例子

    参考:https://blog.csdn.net/liruizhuang/article/details/5876455 <?xml version="1.0" encodi ...

  7. nodejs连接数据库的增删改查

    连接数据库后需要用代码操作的是,传入mysql语句,和参数,然后就是回调了 新增 // 新增 app.post('/process_post', urlencodedParser, function ...

  8. php 门面模式

    1.门面模式为外部提供一个统一的接口,外部调用者不用知道内部的具体复杂业务. 2.如果不使用门面模式,直接访问内部系统,会造成相互直接的耦合关系, 3.想让你的子系统开通哪些,就开通哪些,在门面上开通 ...

  9. python读取大文件

    最近在学习python的过程中接触到了python对文件的读取.python读取文件一般情况是利用open()函数以及read()函数来完成: f = open(filename,'r') f.rea ...

  10. windows假装更新升级

    http://fakeupdate.net/ 进入这个网站,选择一款系统界面,按F11进去全屏 比较有趣