print() 函数使用以 % 开头的转换说明符对各种类型的数据进行格式化输出。

转换说明符(Conversion Specifier)只是一个占位符(也称为格式化操作符),它会被后面表达式(变量、常量、数字、字符串、加减乘除等各种形式)的值代替。

转换说明符

解释

%d、%i

转换为带符号的十进制整数

%o

转换为带符号的八进制整数

%x、%X

转换为带符号的十六进制整数

%e

转化为科学计数法表示的浮点数(e 小写)

%E

转化为科学计数法表示的浮点数(E 大写)

%f、%F

转化为十进制浮点数

%g

智能选择使用 %f 或 %e 格式

%G

智能选择使用 %F 或 %E 格式

%c

格式化字符及其 ASCII 码

%r

使用 repr() 函数将表达式转换为字符串

%s

使用 str() 函数将表达式转换为字符串

%%

输出%

格式化语法格式

print("格式化字符串" % 变量1)

print("格式化字符串" % (变量1, 变量2...))

在 print() 函数中,由引号包围的是格式化字符串,它相当于一个字符串模板,可以放置一些转换说明符(占位符)。

中间的%是一个分隔符,它前面是格式化字符串,后面是要输出的表达式。

当然,格式化字符串中也可以包含多个转换说明符,这个时候也得提供多个表达式,用以替换对应的转换说明符,多个表达式必须使用小括号( )包围起来。

举例

name = '小明'

print("我的名字叫 %s,请多多关照!" % name)

# 我的名字叫 小明,请多多关照!

student_no = 1

print("我的学号是 %06d" % student_no)

# 我的学号是 000001

scale = 0.2

print("数据比例是 %.02f%%" % (scale * 100))

# 数据比例是 20.00%

指定最小输出宽度

当使用转换说明符时,可以使用下面的格式指定最小输出宽度(至少占用多少个字符的位置):

%10d 表示输出的整数宽度至少为 10

%20s 表示输出的字符串宽度至少为 20

n = 1234567

print("n(10):%10d." % n)

print("n(5):%5d." % n)

url = "https://www.baidu.com/python/"

print("url(35):%35s." % url)

print("url(20):%20s." % url)

执行结果为:

n(10): 1234567.

n(5):1234567.

url(35): https://www.baidu.com/python/.

url(20):https://www.baidu.com/python/.

从执行结果可以发现,对于整数和字符串,当数据的实际宽度小于指定宽度时,会在左侧以空格补齐;当数据的实际宽度大于指定宽度时,会按照数据的实际宽度输出。

指定对齐方式

默认情况下,print() 输出的数据总是右对齐的。

当数据不够宽时,数据总是靠右边输出,而在左边补充空格以达到指定的宽度。

Python 允许在最小宽度之前增加一个标志来改变对齐方式,Python支持的标志如下。

标志

说明

-

指定左对齐

+

表示输出的数字总要带着符号;整数带+,负数带-。

0

表示宽度不足时补充 0,而不是补充空格。

几点说明:

对于整数,指定左对齐时,在右边补0是没有效果的,因为这样会改变整数的值。

对于小数,以上三个标志可以同时存在。

对于字符串,只能使用-标志,因为符号对于字符串没有意义,而补 0 会改变字符串的值。

例子:

n = 123456

# %09d 表示最小宽度为9,左边补0

print("n(09):%09d" % n)

# %+9d 表示最小宽度为9,带上符号

print("n(+9):%+9d" % n)

f = 140.5

# %-+010f 表示最小宽度为10,左对齐,带上符号

print("f(-+0):%-+010f" % f)

s = "Hello"

# %-10s 表示最小宽度为10,左对齐

print("s(-10):%-10s." % s)

执行结果

n(09):000123456

n(+9): +123456

f(-+0):+140.500000

s(-10):Hello .

指定小数精度

对于小数(浮点数),print() 还允许指定小数点后的数字位数,也即指定小数的输出精度。

精度值需要放在最小宽度之后,中间用点号.隔开;也可以不写最小宽度,只写精度。具体格式如下:

%m.nf

%.nf

m 表示最小宽度,n 表示输出精度,. 是必须存在的。

请看下面的代码:

f = 3.141592653

# 最小宽度为8,小数点后保留3位

print("%8.3f" % f)

# 最小宽度为8,小数点后保留3位,左边补0

print("%08.3f" % f)

# 最小宽度为8,小数点后保留3位,左边补0,带符号

print("%+08.3f" % f)

运行结果:

3.142

0003.142

+003.142

python格式化输出多个变量_Python变量的格式化输出相关推荐

  1. python定义int变量_Python变量以及常用数字类型(上)

    好好学习,天天向上.又到了齐小猴写笔记的时间,今天的内容是python 变量以及常用数字类型,废话不多说,撸起袖子开始写 变量 1.说到变量,先回顾上一篇说过的标识符,自己定义,自己命名,由字母,下划 ...

  2. c语言调用python变量_Python变量

    在编程语言中,变量是一个必不可少的词,大家也可以把变量理解成名字,也可以理解为一个标签. 举个例子来讲解一下变量,比如我们购买了一套名为"dotcpp"的房子,我们在"d ...

  3. python怎么定义int变量_Python 变量类型 | 菜鸟教程

    Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...

  4. python的常量和变量_python变量和常量

    变量 什么是变量? 变量,是用于在内存中存放程序数据的容器 计算机的最核心功能就是"计算", 计算需要数据源,数据源要存在内存里,比如我要把小明的姓名.身高.年龄信息存下来,后面程 ...

  5. python保存变量_python | 变量-保存与命名规则

    1 变量生成 python中生成变量无须事先声明,系统会根据赋值或表达式运算结果值,自动推断变量类型.在python中,变量生成的语法如下:变量名 = 数据或表达式 x = 123 type(x) # ...

  6. python定义一个整数变量_Python变量与常量

    1.什么是变量 a=1,其中 a 就是变量名称,1 就是它的值.在程序运行过程中,变量的值一般都会发生改变,内存中会专门开辟一段空间,用来存放变量的值,而变量名将指向这个值所在的内存空间.与变量相对的 ...

  7. torch 变量_python变量

    ⽬目标 变量量的作⽤用定义变量量认识数据类型 ⼀一. 变量量的作⽤用 举例例体验:我们去图书馆读书,怎么样快速找到⾃自⼰己想要的书籍呢?是不不是管理理员提前将书放到固定位置,并把这个位置进⾏行行了了编 ...

  8. python如何进行格式化输出变量_Python变量格式化输出实现原理解析

    print() 函数使用以 % 开头的转换说明符对各种类型的数据进行格式化输出. 转换说明符(Conversion Specifier)只是一个占位符(也称为格式化操作符),它会被后面表达式(变量.常 ...

  9. python输出文字加数字_python变量、输入、输出、数字、字符串

    总结 01.print()输出 02.数据类型:Numbers(数字类型:int(整数型).float(浮点数).complex(复数:实数+虚数 5+2j).布尔值(true.false)) 03. ...

最新文章

  1. 类的静态成员变量和静态成员函数的使用方法三
  2. iis vue history 配置_Vue实战——vueRouter路由的添加与配置
  3. ThinkPHP实现登陆功能
  4. pythonos模块怎么设置_Python OS模块如何使用?
  5. Python控制Photoshop(Python+Com)
  6. MATLAB-画图汇总
  7. SpringCloud_03_Feign入门示例
  8. Hbase跨集群数据同步验证
  9. rac的FAILOVER 和LOAD_BALANCE参数,yes和on是否通用!
  10. 彼时彼刻恰似此时此刻
  11. Buzzsumo大型教程(内容营销+外链outreach必备)营销神器
  12. Python笔记-pyautogui 图片定位
  13. 树莓派基础实验12:PCF8591模数转换器实验
  14. 【CG物理模拟系列】开篇:介绍(下)
  15. 通俗理解光猫、网关、路由器、交换机
  16. 第一周 Web开发入门(中)
  17. 在Gitee搭建属于自己的博客
  18. git clone 太慢咋搞?两行命令解决(需要纸飞机)
  19. MATLAB 存储读入:dat文件、bin文件以及mat文件
  20. 人工智能未来发展趋势

热门文章

  1. 三星S10系列国内价格确定:5300元起步 最高1万2
  2. 软工个人项目作业——论文查重系统
  3. html table水平和垂直滚动条,Ajax: Excel风格的HTML Table输入控件[二]:外部表格与水平垂直滚动条...
  4. VMware安装ACS5.8
  5. 你知道ssl协议的作用是什么吗?
  6. python循环结构三角形_循环结构实例(for循环三角形)
  7. EDA(Quartus II)——数控分频器的设计
  8. Linux配置JDK1.8环境
  9. 安装ORACLE provider for OLE DB
  10. mysql支不支持fulljoin_mysql full join 报错(无效)解决方式