python数据的格式输出_python

本文主要由Python String Format 一文翻译整理而来,在python中使用 % 进行格式化字符串由来已久,不过在python2.7+ 的版本中引入了新的格式化字符串的方法。虽然%号的方式依旧可用,不过在[PEP-3101] 中已有含蓄的警告称将完全淘汰python2.6之前使用的这些方法。下面部分我们就来看下python2.7+ 的string format是怎样的。

一、格式字符串手册

数字格式化

下面的表格展示了使用Python的后起新秀str.format()格式化数字的多种方法,包含浮点数格式化与整数格式化示例。可使用print("FORMAT".format(NUMBER));来运行示例,因此你可以运行:print("{:.2f}".format(3.1415926));来得到第一个示例的输出。数字格式输出描述

3.1415926{:.2f}3.14保留小数点后两位

3.1415926{:+.2f}+3.14带符号保留小数点后两位

-1{:+.2f}-1.00带符号保留小数点后两位

2.71828{:.0f}3不带小数

5{:0>2d}05数字补零 (填充左边, 宽度为2)

5{:x<4d}5xxx数字补x (填充右边, 宽度为4)

10{:x<4d}10xx数字补x (填充右边, 宽度为4)

1000000{:,}1,000,000以逗号分隔的数字格式

0.25{:.2%}25.00%百分比格式

1000000000{:.2e}1.00e+09指数记法

13{:10d}13右对齐 (默认, 宽度为10)

13{:<10d}13左对齐 (宽度为10)

13{:^10d}13中间对齐 (宽度为10)

二、string.format()基础

如下是两个基本字符串替换的示例,符号{}是替换变量的占位符。若没有指定格式,则直接将变量值作为字符串插入。s1 = "so much depends upon {}".format("a red wheel barrow")

s2 = "glazed with {} water beside the {} chickens".format("rain", "white")

你也可以使用变量的位置数值,在字符串中改变它们,进行格式化时,会更加灵活。如果搞错了顺序,你可以轻易地修正而不需要打乱所有的变量。s1 = " {0} is better than {1} ".format("emacs", "vim")

s2 = " {1} is better than {0} ".format("emacs", "vim")

三、更老的格式字符串符号"%"

Python2.6之前,格式字符串的使用方法相对更简单些,虽然其能够接收的参数数量有限制。这些方法在Python3.3中仍然有效,但已有含蓄的警告称将完全淘汰这些方法,目前还没有明确的时间进度表。[PEP-3101]

格式化浮点数:pi = 3.14159

print(" pi = %1.2f ", % pi)

多个替换值s1 = "cats"

s2 = "dogs"

s3 = " %s and %s living together" % (s1, s2)

没有足够的参数

使用老的格式化方法,我经常犯错"TypeError: not enough arguments for formating

string",因为我数错了替换变量的数量,编写如下这样的代码很容易漏掉变量。set = "(%s, %s, %s, %s, %s, %s, %s, %s) " % ('a','b','c','d','e','f','g','h')

对于新的Python格式字符串,可以使用编号的参数,这样你就不需要统计有多少个参数。set = " ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}) ".format('a','b','c','d','e','f','g','h')

四、更多.format()的格式字符串方法

format()函数提供了相当多的附加特性和功能,如下是一些有用的使用.format()的技巧。

命名参数

你可以将新的格式字符串用作模板引擎,使用命名参数,这样就不要求有严格的顺序。madlib = " I {verb} the {object} off the {place} ".format(verb="took", object="cheese", place="table")

>>> I took the cheese off the table

多次复用同一个变量

使用%格式字符串,要求变量有严格的次序,而.format()方法允许如上所示那样任意排列参数,也允许复用。str = "Oh {0}, {0}! wherefore art thou {0}?".format("Romeo")

>>> Oh Romeo, Romeo! wherefore art thou Romeo?

将数值转换为不同的进制

可以使用如下字母来将数字转换成字母代表的进制,decimal,hex,octal, binary。print("{0:d} - {0:x} - {0:o} - {0:b} ".format(21))

>>> 21 - 15 - 25 -10101

将格式作为函数来使用

可以将.format()用作函数,这就允许在代码中将普通文本和格式区分开来。例如,你可以在程序的开头包含所有需要使用的格式,然后在后面使用。这也是一种处理国际化的好方法,国际化不仅要求不同的文本,且常常要求不同的数字格式。

## 定义格式 email_f = "Your email address was {email}".format

### 在另一个地方使用 print(email_f(email="bob@example.com"))

感谢 earthboundkid在reddit上提供这一技巧。

五、其他技巧

转义大括号

使用str.format()时,若你需要使用大括号,只要写两次就可以了:

print(" The {} set is often represented as { {0} } ".format("empty"))

>>> The empty set is often represented as {0}

六、参考资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[kafka]kafka集群实践

环境 iphostnameserver_id192.168.1.111UAT042192.168.1.112UAT031192.168.1.102UAT053配置hosts: 192.168.1.112 UAT03 192.168.1.111 UAT04 192.168.1.102 UAT05 安装jdk # rpm -ivh jdk-8u65-linux-x64.rpm # java -version java version "1.8.0_65" Java(TM) SE …

互联网盈利模式77种创新 【 很八股的标题,不过内容还是可以参考一下的 】

http://it.icxo.com/htmlnews/2006/05/26/854682.htm当整个世界都在为互联网喝彩的时候&#xff0c;人们心中往往都会进行这样的思考--我怎样才能在互联网上获得财富&#xff1f;其实&#xff0c;这个问题是没有人能够回答的&#xff0c;因为可以回答的人正在为获得财富忙得不可…

.gitignore文件_Java小白入门,Git忽略文件.gitignore详解

在工程中&#xff0c;并不是所有文件都需要保存到版本库中的&#xff0c;例如“target”目录及目录下的文件就可以忽略。在Git工作区的根目录下创建一个特殊的.gitignore文件&#xff0c;然后把要忽略的文件名填进去&#xff0c;Git就会自动忽略这些文件或目录。Git 忽略规则优…

Xamarin Essentials教程磁力计Magnetometer

Xamarin Essentials教程磁力计Magnetometer磁力计也叫地磁、磁感器&#xff0c;可用于测试磁场强度和方向。在手持设备中&#xff0c;通过磁力计可以计算设备的左右、前后倾斜角度&#xff0c;广泛应用于手机各种的应用中。在Xamarin中&#xff0c;开发者可以使用Xamarin.Essen…

python 字符串截取_Python 字符串操作实现代码(截取/替换/查找/分割)

Python 截取字符串使用 变量[头下标:尾下标]&#xff0c;就可以截取相应的字符串&#xff0c;其中下标是从0开始算起&#xff0c;可以是正数或负数&#xff0c;下标可以为空表示取到头或尾。 # 例1&#xff1a;字符串截取 str 12345678 print str[0:1] >> 1 # 输出str位…

VMware的linux虚拟机实现和windows的文件共享

使用的centos7和windows10&#xff0c;在虚拟机centos7中是root身份。由于是第一次用没有界面的linux&#xff0c;可谓是困难重重…… 一 打开VMware&#xff0c;然后选中你的虚拟机&#xff0c;我的是centos7。然后点击工具栏”虚拟机“&#xff0c;然后选择”安装VMware tool…

XYZ DOWN-电子书

分享一下我老师大神的人工智能教程。零基础&#xff01;通俗易懂&#xff01;风趣幽默&#xff01;还带黄段子&#xff01;希望你也加入到我们人工智能的队伍中来&#xff01;https://blog.csdn.net/jiangjunshowC Primer 中文第三版 http://dl5.mydown.com/test/ziliao/at2004…

通汇手机为何卖得那么红火

分享一下我老师大神的人工智能教程。零基础&#xff01;通俗易懂&#xff01;风趣幽默&#xff01;还带黄段子&#xff01;希望你也加入到我们人工智能的队伍中来&#xff01;https://blog.csdn.net/jiangjunshow通汇手机连锁去年销量又高居粤西地区榜首通汇手机为何卖得那么红…

OpenCV+3计算机视觉++Python语言实现+第二版pdf

下载地址&#xff1a;网盘下载 OpenCV 3是一种先进的计算机视觉库&#xff0c;可以用于各种图像和视频处理操作&#xff0c;通过OpenCV 3 能很容易地实现一些有前景且功能先进的应用&#xff08;比如&#xff1a;人脸识别或目标跟踪等&#xff09;。理解与计算机视觉相关的算法…

javascript进制转换_「js基础」JavaScript逻辑和位运算符归纳

上一篇文章呢&#xff0c;我们讲述了JavaScript运算符中的关系运算符和逻辑运算符&#xff0c;那么紧接上一篇的文章我们今天来说说逻辑运算符。引言逻辑运算符不是很难&#xff0c;也不是很多&#xff0c;我们只要记住三个就可以啦&#xff01;分别是&#xff1a;&#xff01;…

〖强暴贴〗号称全国最大开发者网络的CSDN多次出现低级错误 验证码形同虚设 开发人员竟是MVP

分享一下我老师大神的人工智能教程。零基础&#xff01;通俗易懂&#xff01;风趣幽默&#xff01;还带黄段子&#xff01;希望你也加入到我们人工智能的队伍中来&#xff01;https://blog.csdn.net/jiangjunshow主  题&#xff1a;【醒目】〖强暴贴〗号称全国最大开发者网络…

MySQL系统自带的数据库information schema

转自&#xff1a;https://www.cnblogs.com/shengdimaya/p/6920677.html#commentform information_schema数据库是MySQL系统自带的数据库&#xff0c;它提供了数据库元数据的访问方式。感觉information_schema就像是MySQL实例的一个百科全书&#xff0c;记录了数据库当中大部分我…

micropython oled中文_micropython中怎么将gb2312编码的字节流变成中文

展开全部 # -*- code: utf-8 -*- # 在 micropython 中运行, 注意在运行目录下有 hzk12/16 # 啊 是汉字区第1个汉字&#xff0c;62616964757a686964616fe59b9ee7ad9431333431353932对应数据为 ?不对&#xff1f; # 0x00, 0x00, 0x0E, 0xFC, 0xEA, 0x08, 0xAA, 0x08, # 0xAA, 0x…

DOS那一代的程序员现在都干嘛呢

分享一下我老师大神的人工智能教程。零基础&#xff01;通俗易懂&#xff01;风趣幽默&#xff01;还带黄段子&#xff01;希望你也加入到我们人工智能的队伍中来&#xff01;https://blog.csdn.net/jiangjunshow亿友论坛-DOS那一代的程序员现在都干嘛呢&#xff1f;&#xff0…

弟子规python编程游戏_《Python游戏趣味编程》 第11章 消灭星星

知乎视频​www.zhihu.com图书简介可以看这里&#xff1a;童晶&#xff1a;《Python游戏趣味编程》新书上架了​zhuanlan.zhihu.com消灭星星是一款非常容易上瘾的消除类游戏&#xff0c;只需点击一个方块&#xff0c;如果和其连接的有两个或两个以上颜色相同的方块即可消除&…

python判断英文字母_python判断字符串中是否含有英文 | 个人学习笔记记录

第一种方法&#xff1a; #-*- coding:utf-8 -*- import re def check(str): my_re re.compile(r[A-Za-z],re.S) res re.findall(my_re,str) if len(res): print u含有英文字符 else: print u不含有英文字符 if __name__ __main__: str 你好123hello check(str) str1 你好1…

idea ssm项目移包报错问题

写完代码之后发现包结构太乱了 想要规划一下 结果报错 这里面的包路径都可以点进去&#xff0c;还是报找不到com.lf.company.entity.Business 后来发现是 在移动前和移动后都存在这个mapper。xml 解决方案&#xff1a; 在这里把多余的删掉转载于:https://www.cnblogs.com/NCL…

matlab 写excel 慢_吐槽一下MATLAB的workspace

用MATLAB编程&#xff0c;或者Simulink建模仿真&#xff0c;有一个特别强大、特别人性化的功能&#xff0c;可以在workspace中直接查看定义的参数和运行的结果 无论是仿真的调试&#xff0c;结果的分析&#xff0c;或是中途的Debug&#xff0c;workspace都发挥着至关重要的作用…

python运行是哪个键_python – 如何使用回车键调用按钮命令

在tkinter中,当按钮具有焦点时,您可以按空格键执行与该按钮关联的命令.我正在尝试按Enter键做同样的事情.我确定我过去做过这个,但我找不到代码,而我现在正在做的事情是行不通的.我在Mac上使用 python 3.6.1. 这是我尝试过的 self.startButton.bind(, self.startButton.invoke)…

WEBSHELL权限提升 菜菜

分享一下我老师大神的人工智能教程。零基础&#xff01;通俗易懂&#xff01;风趣幽默&#xff01;还带黄段子&#xff01;希望你也加入到我们人工智能的队伍中来&#xff01;https://blog.csdn.net/jiangjunshow动网上传漏洞&#xff0c;相信大家拿下不少肉鸡吧&#xff0c;但…