python格式化输出字符串_Python 字符串格式化输出方式

字符串格式化有两种方式:百分号方式、format方式。

其中,百分号方式比较老,而format方式是比较先进的,企图替代古老的方式,目前两者共存。

1、百分号方式

格式:%[(name)][flags][width].[precision]typecode

(name)    可选,用于选择指定的key

flags        可选,可供选择的值有:

+ 右对齐:正数的加正号,负数的加负号

- 左对齐:正数前没有负号,负数前加负号

width    可选,占有宽度

.precision    可选,小数点后保留的位数

typecode     必选

s,获取传入的对象__str__方法的返回值,并将其格式化到指定位置

r,获取传入对象的__repr__方法的返回值,并将其格式化到指定位置

c,整数:将数字转换成其unicode对应的值,10进制范围为0 <= i <=1114111

o,将整数转换成八进制表示,并将其格式化到指定位置

x,将整数转换成16进制,并将其格式化到指定位置

d,将整数,浮点数转化为十进制表示,并将其格式化到指定位置

例子:

>>> s = 'hello, %s!' % 'python'

>>> s

'hello, python!'

>>> s = 'hello, %s, %d!' % ('python', 2018)

>>> s

'hello, python, 2018!'

>>> s = 'hello, %(name)s, %(year)d!' % {'name': 'python', 'year': 2018}

>>> s

'hello, python, 2018!'

>>> s = 'hello, %(name)+10s, %(year)-10d!' % {'name': 'python', 'year': 2018}

>>> s

'hello, python, 2018 !'

>>> s = 'hello, %(name)s, %(year).3f!' % {'name': 'python', 'year': 2018}

>>> s

'hello, python, 2018.000!'

%r 与 %s 区别:

%r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符号则是用来向用户显示输出的。

>>> a = 'sunday'

>>> print("Today is %s" % a)

Today is sunday

>>> print("Today is %r" % a)

Today is 'sunday' # 格式化部分用单引号输出

>>> from datetime import datetime

>>> d = datetime.now()

>>> print('%s' % d)

2018-09-10 08:52:00.769949

>>> print('%r' % d)

datetime.datetime(2018, 9, 10, 8, 52, 0, 769949) # 可以看见与上面输出存在明显的区别

2、format方式

>>> s = 'hello, {}, {}'.format('python', 2018)

>>> s

'hello, python, 2018'

>>> s = 'hello, {0}, {1}, hi, {0}'.format('python', 2018)

>>> s

'hello, python, 2018, hi, python'

>>> s = 'hello, {name}, {year}, hi, {name}'.format(name='python', year=2018)

>>> s

'hello, python, 2018, hi, python'

>>> s = 'hello, {:s}, {:d}, hi, {:f}'.format('python', 2018, 9.7)

>>> s

'hello, python, 2018, hi, 9.700000'

python字符串格式化输出

python格式化输出 python格式化输出有两种方式:百分号和format format的功能要比百分号方式强大,其中format独有的可以自定义字符填充空白.字符串居中显示.转换二进制.整数自动 ...

python 字符串格式化输出 &percnt;d,&percnt;s及 format函数

旧式格式化方式:%s,%d 1.顺序填入格式化内容 s = "hello %s, hello %d"%("world", 100) print(s) 结果: ' ...

python 字符串格式化 输出

1. 需要输出3列,为了输出好看,需要制定每一列的宽度: ‘%6.2f’ % 1.235 # 长度为6,保留2为小数 print '{0:20} {1:<20} {1:<20}\r\n'. ...

python之格式化输出(3种方式)

python3.6后支持3种格式化输出方式,其中前两种为%-formatting及str.format ,第三种即为 f-string. 1.%-formatting 据传该格式化方法源于C.. &g ...

(Python )格式化输出、文件操作、json

本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...

Python基本格式化输出

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

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

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

Python学习:12&period;Python字符串格式化

字符串格式化 讲解Python这么久,也没有讲解Python的字符串的格式化,那我们今天就来了解一下python字符串格式化的强大之处. 首先我们先理解一下为什么要有字符串的格式化,就是为了方便字符串 ...

从一行代码开始,浅谈python字符串格式化

今天看到了一行这样的代码: boundary = '%.32x' % random.randint(0, 256**16) 我知道这是一个生成格式化字符串的语句,它将随机生成的一个32位16进制数,将 ...

随机推荐

C&num; 方法返回值的个数

方法返回值类型总的来说分为值类型,引用类型,Void 有些方法显示的标出返回值 public int Add(int a,int b) { return a+b; } 有些方法隐式的返回返回值,我们可 ...

android必须要进行为不同分辨率设备切图

以分辨率为1920×1080的android设备为例.在项目中加载资源的位置为xxhdpi文件夹: 例如将图片放入mdpi文件夹中就会出现,图片的横纵尺寸分别乘3被的后果,因为它认为在这个文件夹中是低 ...

Spark MLlib Data Type

MLlib 支持存放在单机上的本地向量和矩阵,也支持通过多个RDD实现的分布式矩阵.因此MLlib的数据类型主要分为两大类:一个是本地单机向量:另一个是分布式矩阵.下面分别介绍一下这两大类都有哪些类型 ...

如何使用Python调用AutoIt来实现Flash控件的上传功能

先看一段代码 upload.au3(这个后缀autoit3的格式): ;等待出现title为数据采集-军课网-MozillaFirefox的浏览器窗口 WinWait("数据采集 - XX网 ...

Spring IoC原理详解

去掌握一门技术的时候,往往很多人都忽略了一点,只是一味地去写代码,原理层面的东西从来就不理会 还有就是学习的过程中,不去想为什么有了当前的写法,却有着这么一门技术可以代替它 一般来说,在写程序的时候, ...

转&colon; 详解css中的display属性

在一般的CSS布局制作时候,我们常常会用到display对应值有block.none.inline这三个值.下面我们来分别来认识和学习什么时候用什么值.这里通过CSS display知识加实例讲解方法 ...

ISO&sol;IEC14443和15693的对比有何具体区别

ISO14443 ISO14443A/B:超短距离智慧卡标准.这标准订出读取距离7-15厘米的短距离非接触智慧卡的功能及运作标准,使用的频率为13.56MHz.     ISO14443定义了TYPE ...

Mybatis第一天(其他)

Mybatis第一天 框架课程 课程计划 第一天: Mybatis的介绍 Mybatis的入门 使用jdbc操作数据库存在的问题 Mybatis的架构 Mybatis的入门程序 Dao的开发方法 原始 ...

Spring Security(10)——退出登录logout

要实现退出登录的功能我们需要在http元素下定义logout元素,这样Spring Security将自动为我们添加用于处理退出登录的过滤器LogoutFilter到FilterChain.当我们指定 ...

centos7 mongodb 3&period;4 yum 安装

3.4 vi /etc/yum.repos.d/mongodb-3.4.repo   [mongodb-org-3.4] name=MongoDB Repository baseurl=https:/ ...