python print 格式化输出详解

文章介绍了Python中print函数的基础用法,包括直接输出字符串和数字,以及如何通过格式化操作符进行复杂格式的输出,如整数、浮点数和不同进制的数字表示。还提到如何控制输出的对齐、精度和自动换行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

print 输出字符串和数字

以下实例中列举了print打印各种类型的示例
示例如下,

print("qayrup")       # 直接输出字符串

print(100)            # 输出数字

str = 'qayrup'
print(str)            # 输出变量

L = [1,2,'a']         # 输出列表类型变量
print(L)  

t = (1,2,'a')         # 输出元组类型变量
print(t)  

d = {'a':1, 'b':2}    # 输出字典类型变量
print(d)  

输出如下
在这里插入图片描述

但是很多时候我们要面对的情况远比这要复杂的多,这个时候就需要用到一定的格式化了
如下

格式化输出整数

python print 支持参数格式化,与 C 语言的 printf 类似

示例如下

str = " (%s)这个字符串长度是%d " %('qayrup',len('qayrup'))
print(str)

输出
在这里插入图片描述
可以看到使用格式化输出能很方便的在输出我们想要的字符串格式,

下面是完整的字符串格式化输出符号

符 号描述
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g%f和%e的简写
%G%f 和 %E 的简写
%p用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号功能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号( + )
<sp>在正数前面显示空格
#在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
0显示的数字前面填充’0’而不是默认的空格
% ’%%‘输出一个单一的’%’
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

格式化输出16进制,十进制,八进制整数

#%x — hex 十六进制

#%d — dec 十进制

#%o — oct 八进制

在这里插入图片描述

格式化输出浮点数(float)

pi = 3.141592653  
print('%10.3f' % pi) #字段宽10,精度3  
print("pi = %.*f" % (3,pi)) #用*从后面的元组中读取字段宽度或精度  
pi = 3.142  
print('%010.3f' % pi) #用0填充空白  
print('%-10.3f' % pi) #左对齐  
print('%+f' % pi) #显示正负号  

输出如下
在这里插入图片描述

自动换行

print 会自动在行末加上回车, 如果不需回车,只需在 print 语句的结尾添加一个逗号 , 并设置分隔符参数 end,就可以改变它的行为。

for i in range(0,6):
  print(i)

for i in range(0,6):
  print(i, end=" ")

在这里插入图片描述

<think>好的,我现在需要帮助用户了解如何在Python中使用print格式化输出。用户之前的问题是关于获取字符串长度,现在转向了格式化输出。根据用户提供的引用内容,引用了四种方法:%格式化、str.format()、f-strings以及一些示例。我需要结合这些引用内容,整理出一个结构清晰的回答,同时注意系统级指令,比如数学表达式的格式和相关问题生成。首先,我需要确认用户的需求。用户明确询问的是Pythonprint格式化输出方法,并希望有示例。因此,我需要将不同的格式化方法分门别类,给出每种方法的说明和示例代码。同时,引用中的信息需要正确对应到各个方法中,比如引用[1]提到%格式化,引用[3]和[4]涉及str.format()和f-strings的细节,如千位分隔符、数字格式化等。接下来,我需要确保回答的结构清晰。按照常见的格式化方法,分点介绍:%操作符、str.format()、f-strings,可能还有其他的方法,但根据引用内容,这三种是主要的。每种方法下需要说明基本用法、常见格式控制,并给出示例代码。例如,%格式化可以处理字符串、整数、浮点数,str.format()支持更复杂的格式,如对齐、千分位,而f-strings在Python3.6之后更简洁高效。然后要注意引用标记的正确插入。例如,当提到%格式化时,引用[1]和[2]可能相关;str.format()的例子在引用[3]和[4]中;f-strings则在引用[4]中有详细说明。每个示例后需要自然地添加引用标识,如[^1]、[^3]等。另外,系统级指令要求数学表达式使用$...$或$$...$$格式。在回答中,如果有涉及数学的地方,比如格式化中的数字位数、对齐等,可能需要用LaTeX表示,但根据用户的问题,可能这方面的需求较少。不过如果有,例如千分位或小数位数,需要正确应用。 最后,生成相关问题。这些问题应该与格式化输出相关,可能包括不同方法的比较、高级格式选项、处理多变量、性能差异等。需要确保问题自然且有参考价值。现在需要检查是否有遗漏或错误。例如,引用[3]中的千位分隔符示例是否正确,引用[4]中的嵌套表达式如何展示。此外,用户之前的回答中提到了len()函数,但当前问题与之无关,需专注于格式化输出。可能需要注意示例代码的正确性,比如使用%时参数是否匹配,str.format()中的占位符是否正确,f-strings的变量插入是否准确。同时,要确保每个示例的输出结果正确,如引用[3]中的二进制、八进制转换是否正确,引用[4]中的小数点保留和填充对齐是否示例正确。总结步骤:分方法介绍,每种方法的基本用法、格式控制示例,正确引用来源,生成相关问题,确保代码正确,结构清晰,语言简洁。</think>### Pythonprint格式化输出的方法详解Python中,`print()`函数的格式化输出可以通过多种方式实现,包括**%操作符**、**str.format()方法**和**f-strings**。以下是具体方法和示例: --- #### 方法 1:使用 `%` 操作符(传统方法) 通过占位符(如`%s`、`%d`、`%f`)将变量插入字符串,适用于简单场景[^1][^2]。 ```python name = "Alice" age = 25 print("姓名:%s,年龄:%d" % (name, age)) # 输出:姓名:Alice,年龄:25 # 浮点数保留两位小数 price = 19.99 print("价格:%.2f" % price) # 输出:价格:19.99 ``` **常见占位符**: - `%s`:字符串 - `%d`:整数 - `%f`:浮点数(默认6位小数) - `%x`:十六进制整数 --- #### 方法 2:使用 `str.format()`(灵活方法) 通过`{}`占位符和`format()`方法支持更复杂的格式化[^3][^4]。 ```python # 基础用法 print("姓名:{},年龄:{}".format("Bob", 30)) # 输出:姓名:Bob,年龄:30 # 指定顺序 print("{1}的得分是{0}".format(90, "Alice")) # 输出:Alice的得分是90 # 数字格式化 print("二进制:{:b}".format(20)) # 输出:二进制:10100 [^3] print("千分位:{:,}".format(1000000)) # 输出:千分位:1,000,000 [^3] ``` **格式控制语法**: - 对齐:`<`(左对齐)、`>`(右对齐)、`^`(居中) - 小数位数:`:.2f` - 填充字符:`{:0>4d}`(右对齐补零到4位) --- #### 方法 3:使用 `f-strings`(Python 3.6+ 推荐) 直接在字符串中嵌入变量和表达式,语法简洁高效[^4]。 ```python name = "Charlie" score = 95.5 # 直接引用变量 print(f"姓名:{name},分数:{score}") # 输出:姓名:Charlie,分数:95.5 # 表达式和格式化 print(f"分数保留一位小数:{score:.1f}") # 输出:分数保留一位小数:95.5 # 对齐与填充 num = 42 print(f"编号:{num:04d}") # 输出:编号:0042 [^4] ``` **高级用法**: ```python # 嵌套表达式 value = 3.14159 print(f"圆周率:{value:.2f}的平方是{(value ** 2):.4f}") # 输出:圆周率:3.14的平方是9.8696 ``` --- ### 不同方法的对比 | 方法 | 优点 | 缺点 | |--------------|-----------------------------|-----------------------| | `%` 操作符 | 简单快速 | 功能有限,可读性差 | | `str.format` | 功能强大,支持复杂格式 | 语法稍繁琐 | | `f-strings` | 简洁高效,支持表达式内嵌 | 仅Python 3.6+可用 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qayrup

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值