当前位置: 首页 > news >正文

python如何打印字符串_python 中 打印及格式化字符串的相关方法

将值转换为字符串

Python 有多种方式将任何值转为字符串: 将它传给 repr() 或 str() 函数.

repr() 和 str() 的区别,看几个例子:

>>> print(str('123'))

123

>>> print(str(123))

123

>>> print(repr('123'))

'123'

>>> print(repr(123))

123

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

再看这个例子

>>> from datetime import datetime

>>> now = datetime.now()

>>> print(str(now))

2017-04-22 15:41:33.012917

>>> print(repr(now))

datetime.datetime(2017, 4, 22, 15, 41, 33, 12917)

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

因此 str() 与 repr() 的不同在于:

str() 的输出追求可读性,输出格式要便于理解,适合用于输出内容到用户终端。

repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用。

str.format 的使用

括号及其里面的字符 (称作 format field) 将会被 format() 中的参数替换. 在括号中的数字用于指向传入对象在 format() 中的位置.

>>> print('{0} and {1}'.format('spam', 'eggs'))

spam and eggs

>>> print('{1} and {0}'.format('spam', 'eggs'))

eggs and spam

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

如果在 format() 中使用了关键字参数, 那么它们的值会指向使用该名字的参数.

>>> print('This {food} is {adjective}.'.format(

... food='spam', adjective='absolutely horrible'))

This spam is absolutely horrible.

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

可选项 ':' 和格式标识符可以跟着 field name. 这就允许对值进行更好的格式化. 下面的例子将 Pi 保留到小数点后三位.

>>> import math

>>> print('The value of PI is approximately {0:.3f}.'.format(math.pi))

The value of PI is approximately 3.142.

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

'!a' (使用 ascii()), '!s' (使用 str()) 和 '!r' (使用 repr()) 可以用于在格式化某个值之前对其进行转化:

>>> import math

>>> print('The value of PI is approximately {}.'.format(math.pi))

The value of PI is approximately 3.14159265359.

>>> print('The value of PI is approximately {!r}.'.format(math.pi))

The value of PI is approximately 3.141592653589793.

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

格式化字典,使用 **

>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}

>>> print('Jack: {Jack:d}; Sjoerd: {Sjoerd:d}; Dcab: {Dcab:d}'.format(**table))

Jack: 4098; Sjoerd: 4127; Dcab: 8637678

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

旧式字符串格式化

使用 %进行字符串格式化

>>> import math

>>> print('The value of PI is approximately %5.3f.' % math.pi)

The value of PI is approximately 3.142.

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

相关文章:

  • selenium firefox驱动_[Selenium]2.开发环境配置
  • js regexp 匹配任意一个字符串_JavaScript基础知识:字符串的使用和基本操作
  • python列表的存储结构_3-Python内置结构-列表
  • 用python制作新用户注册系统_[宜配屋]听图阁
  • python中typeerror_Python中的TypeError类
  • python手工打码_打码兔和超人打码python版
  • python 将图片转换成像素画_Python用61行代码实现图片像素化
  • python实现自动翻页代码_python实现模拟按键,自动翻页看u17漫画
  • excel万年历_excel函数应用技巧:如何按不同要求,改变数值格式
  • python哪些领域_什么是Python?Python涉及哪些领域?
  • python 如何安装软件包故障_python中安装模块包版本冲突问题的解决
  • pythonand语法_python基础语法之and,or,not
  • html项目案例_Python爬虫项目案例: 豆瓣top250电影榜单爬取2020年8月最新(附源代码,数据)...
  • 2020年日历可编辑内容模板_黄油相机修图|4款可一键套用的文艺plog模板,快乐躺赢朋友圈...
  • 训练和验证准确性_50年难题被解决,蛋白质版“阿法狗”预测结构准确性达92.4...
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • angular组件开发
  • CentOS 7 修改主机名
  • Date型的使用
  • EventListener原理
  • go语言学习初探(一)
  • MySQL-事务管理(基础)
  • nginx 负载服务器优化
  • v-if和v-for连用出现的问题
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 简单基于spring的redis配置(单机和集群模式)
  • 前端面试之闭包
  • 数据科学 第 3 章 11 字符串处理
  • 无服务器化是企业 IT 架构的未来吗?
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 积累各种好的链接
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (c语言)strcpy函数用法
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (二)学习JVM —— 垃圾回收机制
  • (二)丶RabbitMQ的六大核心
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (十六)一篇文章学会Java的常用API
  • (四)Android布局类型(线性布局LinearLayout)
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (原創) 物件導向與老子思想 (OO)
  • (转)Sublime Text3配置Lua运行环境
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)母版页和相对路径
  • .Net 6.0 处理跨域的方式
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别