Python——format汇总
一、str.format
按照指定格式格式化字符串,然后返回格式化的字符串,源字符串不变。
以下是Python2.7环境。
1.1、按照位置替换
参考下面例子:
- >>> s = '{0} is {1}'
- >>> s.format('wo','haoren')
- 'wo is haoren'
- >>> s
- '{0} is {1}'
- >>> s = '{} {} age.'
- >>> s.format('wo',29)
- 'wo 29 age.'
- >>> s = '{0} is {1},{0} {2} age.'
- >>> s.format('wo','haoren',20)
- 'wo is haoren,wo 20 age.'
注意:如果源字符串中有{}这个大括号。那么这个字符串中的{}需要用重复的两遍才可以。否则会报错。
- >>> s = 'zheshi {} kuo hao{{}}'
- >>> s.format('da')
- 'zheshi da kuo hao{}'
- >>> s
- 'zheshi {} kuo hao{{}}'
- >>> s = 'zheshi {} kuo hao{}'
- >>> s.format('da')
- Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
- IndexError: tuple index out of range
1.2、按照名字匹配替换
参考下面例子:
这个按照名字匹配可以理解为按照字典key值匹配对应的value替换到源字符串对应的key的位置。1.1中的key是位置,这里面把这个数字改为字符串索引即可。
- >>> s = '{name} {age} age.{name} is {0}'
- >>> s.format('student',name='wo',age=20)
- 'wo 20 age.wo is student'
1.3、按照索引替换
参考下面例子:
按照索引可以分为按照列表索引和按照字典的key取值两种。
- 按照列表
- >>> s = '{0[0]} {0[1]} age.{0[0]} is {0[2]}'
- >>> a = ['wo',20,'student']
- >>> s.format(a)
- 'wo 20 age.wo is student'
- 按照字典key值
- >>> d = {'name':'wo','age':20,'job':'student'}
- >>> s = '{0[name]} {0[age]} age.{0[name]} is {0[job]}'
- >>> s.format(d)
- 'wo 20 age.wo is student'
1.4、按照对象格式化
参考下面例子:
- >>> import sys
- >>> import math
- >>> "math.pi=={0.pi}sys.maxunicode=={1.maxunicode}".format(math,sys)
- 'math.pi==3.14159265359sys.maxunicode==65535'
1.5、格式规约——字符串格式规约
格式限定符是通过{}中带:号带入的。后面跟随的可选字符对是:
填充字符X对齐字符(<左对齐,^中间对齐,>右对齐)X可选最小宽度(如果指定最大宽度,就用句号隔开并再写一个整数)
参考下面例子:
- >>> s = '{0:-^8} shi haoren'
- >>> s.format('wo')
- '---wo--- shi haoren'
- >>> s = '{0:.{1}} shi haoren'
- >>> s.format('wo',1)
- 'w shi haoren'
- >>> s.format('wo',2)
- 'wo shi haoren'
- >>> s.format('wo',0)
- ' shi haoren'
- >>> s.format('wo',11)
- 'wo shi haoren'
1.6、格式规约——整数格式规约
格式限定符是通过{}中带:号带入的。后面跟随的可选字符对是:
填充字符X对齐字符(<左对齐,^中间对齐,>右对齐,=用于在符号和数字之间进行填充)X"+"表示必须输出符号,"-"表示只输出负数符号," "表示正数输出空格,负数输出符号X可选#引导b(二进制)、o(八进制)、x(16进制)可选最小宽度(不能指定最大宽度)
参考下面例子:
- 把十进制数字转换为二进制数,不足8位在前面用0补齐8位:
- >>> "{0:08b}".format(2)
- '00000010'
- >>> "{0:08b}".format(10)
- '00001010'
- 二进制、八进制、十六进制:
- >>> "{0:b},{0:o},{0:x},{0:X}".format(10)
- '1010,12,a,A'
- >>> "{0:#b},{0:#o},{0:#x},{0:#X}".format(10)
- '0b1010,0o12,0xa,0XA'
- >>> "{0:0=8b}".format(10)
- '00001010'
- 将10进制数转换为8位二进制数,如果不足8位在后面用0补全:
- >>> "{0:0<8b}".format(10)
- '10100000'
二、
Python——format汇总的更多相关文章
- 老猿Python博文汇总目录--按标题排序
☞ ░ 前往老猿Python博文目录 ░ 本部分为老猿CSDN全部博文的汇总(含转载部分),所有文章在此未进行归类,仅按文章标题排序,方便关键字查找.本部分内容将至少以周为单位定期更新,可能不包含发布 ...
- 2013流行Python项目汇总
2013流行Python项目汇总 转自:http://www.kankanews.com/ICkengine/archives/102963.shtml Python作为程序员的宠儿,越来越得到人们的 ...
- 【387】Python format 格式化函数
参考:Python format 格式化函数 # 保留小数点后两位 f'{3.1415926:.2f}' # 带符号保留小数点后两位 f'{3.1415926:+.2f}' f'{-1:+.2f}' ...
- Python format 格式化函数。
Python format 格式化函数 Python 字符串 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 ...
- python format()函数的用法
Python format() 函数的用法 复制自博主 chunlaipiupiupiu 的博客,如有侵权,请联系删除 python中format函数用于字符串的格式化 通过关键字 1 print(' ...
- python format 用法详解
format 用法详解 不需要理会数据类型的问题,在%方法中%s只能替代字符串类型 单个参数可以多次输出,参数顺序可以不相同 填充方式十分灵活,对齐方式十分强大 官方推荐用的方式,%方式将会在后面的版 ...
- Python数据结构汇总
Python数据结构汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.线性数据结构 1>.列表(List) 在内存空间中是连续地址,查询速度快,修改也快,但不利于频繁新 ...
- python format函数/print 函数详细讲解(4)
在python开发过程中,print函数和format函数使用场景特别多,下面分别详细讲解两个函数的用法. 一.print函数 print翻译为中文指打印,在python中能直接输出到控制台,我们可以 ...
- python format格式化函数用法
python format格式化函数用法 原文 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前 ...
随机推荐
- 牛客小白月赛13 G(双向搜索)
AC通道 两边同步搜,一步里面A走一次B走两次,遇到对方走过的地方就得到了答案. #include <bits/stdc++.h> using namespace std; const i ...
- SSIS 抽取excel出错:所请求的 OLE DB 访问接口 Microsoft.ACE.OLEDB.12.0 尚未注册
如果是安装的office2010就要装这个,如果是2007就不用装! http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b ...
- 《javascript设计模式》笔记之第八章:桥接模式
个人理解:桥接模式就是更进一步地封装已有api,通过这个封装连接你的输入和底层api(初步理解,以后加深理解有不同体会之后可能要修改) 一:示例:事件监听器 下面这个示例就演示了通过一座桥(也就是一个 ...
- zuul 自定义路由映射规则
zuul本射自动创建eureka中的服务的路由
- Servlet中的初始化参数、上下文参数、以及@Resource资源注入
配置初始化参数.上下文参数.以及使用@Resource注解进行资源注入,目的是为了降低代码的耦合度.当项目需求进行变更的时候,不需要反复更改源代码,只需更改web.xml文件即可. 一:Servlet ...
- SQL Server 填充因子
在创建聚集索引时,表中的数据按照索引列中的值的顺序存储在数据库的数据页中.在表中插入新的数据行或更改索引列中的值时,Microsoft® SQL Server™ 2000 可能必须重新 ...
- 手工恢复OSSIM数据库密码
1,现象 今天需要远程连接ossim的mysql数据库读取些东西,于是登录ossim的终端,发现这个mysql客户端无法直接登录,使用自己安装时候那些口令都不行 alienvault:~# mysql ...
- UWP开发:自动生成迷宫&自动寻路算法(2)
之后我们编写一个类,同时创建一个List,将List与前端的Rectangle绑定. public static List<Rect> Rects { get; set; }Rects = ...
- UVA12904 Load Balancing(中途相遇法)
虽然这题可以用暴力n^3过,但是还有有种n^2的方法的,枚举b,对于b,分别枚举a和c,得到对于这个b的最优解,然后从所以b中选一个最优的. 要保证字典序最小,只要从小往大枚举就好了 感谢moonfl ...
- 复杂UI的组织-创建者模式-uitableview思想
复杂节目的组织-创建者模式-uitableview思想 整体说明,部件规格说明