python 中 print函数的用法详解

python 中 print函数的用法详解目录一、print()函数概述二、变量的输出三、数据的格式化输出3.1%字符3.2 最小字段宽度和精度3.3 转换标志3.4 格式字符归纳四、换行与防止

大家好,又见面了,我是你们的朋友全栈君。

 

目录

一、print()函数概述

二、变量的输出

三、数据的格式化输出

3.1 %字符

3.2 最小字段宽度和精度

3.3 转换标志

3.4 格式字符归纳

四、换行与防止换行

一、print()函数概述
print() 方法用于打印输出,是python中最常见的一个函数。

该函数的语法如下:

print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout)
参数的具体含义如下:

objects –表示输出的对象。输出多个对象时,需要用 , (逗号)分隔。

sep — 用来间隔多个对象。

end — 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符。

file — 要写入的文件对象。

print(1) #数值类型可以直接输出

”’
运行结果如下
1
”’

print(“Hello World”) #字符串类型可以直接输出

”’
运行结果如下:
Hello World
”’

a=1
b=”Hello World”
print(a, b) #可以一次输出多个对象,对象之间用逗号分隔
”’
运行结果如下:
1 Hello World
”’

#如果直接输出字符串,而不是用对象表示的话,可以不使用逗号
print(“Duan””Yixuan”)
print(“Duan”,”Yixuan”)

”’
运行结果如下:
DuanYixuan
Duan Yixuan
可知,不添加逗号分隔符,字符串之间没有间隔
”’

print(“www”, “snh48”, “com”, sep=”.”) # 设置间隔符
”’
运行结果如下:
www.snh48.com
”’
二、变量的输出
无论什么类型的数据,包括但不局限于:数值型,布尔型,列表变量,字典变量…都可以直接输出。

#例如:

num = 19
print(num) #19 输出数值型变量

str = ‘Duan Yixuan’
print(str) #Duan Yixuan 输出字符串变量

list = [1,2,’a’]
print(list) #[1, 2, ‘a’] 输出列表变量

tuple = (1,2,’a’)
print(tuple) #(1, 2, ‘a’) 输出元组变量

dict = {‘a’:1, ‘b’:2}
print(dict) # {‘a’: 1, ‘b’: 2} 输出字典变量
三、数据的格式化输出
在C语言中,我们可以使用printf(“%-.4f”,a)之类的形式,实现数据的的格式化输出。

在python中,我们同样可以实现数据的格式化输出。我们可以先看一个简单的例子:

s=’Duan Yixuan’
x=len(s)
print(‘The length of %s is %d’ %(s,x))

”’
‘The length of %s is %d’ 这部分叫做:格式控制符
(s,x) 这部分叫做:转换说明符
% 字符,表示标记转换说明符的开始
输出如下:
The length of Duan Yixuan is 11
”’
和C语言的区别在于,Python中格式控制符和转换说明符用%分隔,C语言中用逗号。

接下来我们仔细探讨一下格式化输出

3.1 %字符
(1).%字符:标记转换说明符的开始。

%字符的用法可参考上例,不再赘述。

3.2 最小字段宽度和精度
最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*(星号),则宽度会从值元组中读出。

点(.)后跟精度值:如果需要输出实数,精度值表示出现在小数点后的位数。如果需要输出字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将从元组中读出。

可参考C语言的实现方式。

注:字段宽度中,小数点也占一位。

PI = 3.141592653
print(‘%10.3f’%PI) #字段宽10,精度3
# 3.142

#精度为3,所以只显示142,指定宽度为10,所以在左边需要补充5个空格,以达到10位的宽度
PI=3.1415926
print(“PI=%.*f”%(3,PI))
#用*从后面的元组中读取字段宽度或精度,可以读取出来精度是3位
#PI=3.142

#没有指定宽度,所以不需要缩进

print(“PI=%*.3f”%(10,PI)) #精度为3,总长为10.
# PI= 3.142

#* 所处的位置不同,读取的内容也不同
3.3 转换标志
转换标志:-表示左对齐;+表示在数值前要加上正负号;” “(空白字符)表示正数之前保留空格();0表示转换值若位数不够则用0填充。

具体的我们可以看一下例子:

PI=3.1415926
print(‘%-10.3f’ %PI) #左对齐,还是10个字符,但空格显示在右边。
#3.142
PI=3.1415926
print(‘%+f’ % PI) #显示正负号 #+3.141593
# 类型f的默认精度为6位小数。
PI=3.1415926
print(‘%010.3f’%PI) #字段宽度为10,精度为3,不足处用0填充空白
#000003.142 0表示转换值若位数不够则用0填充
3.4 格式字符归纳
格式字符    说明                                 格式字符     说明

%s  字符串采用str()的显示                 %x 十六进制整数

%r  字符串(repr())的显示                    %e 指数(基底写e)

%c  单个字符                                      %E   指数(基底写E)

%b 二进制整数                                   %f,%F      浮点数

%d 十进制整数                                   %g   指数(e)或浮点数(根据显示长度)

%i  十进制整数                                    %G  指数(E)或浮点数(根据显示长度)

%o 八进制整数                                     %%  字符%

四、换行与防止换行
在python中,输出函数总是默认换行,比如说:

for x in range(0,5):
print(x)

”’
0
1
2
3
4
”’
而显然,这种输出太占“空间”,我们可以进行如下改造:

参考文本第一部分对end参数的描述:end — 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符。

for x in range(0, 5):
print(x, end=’ ‘)
#0 1 2 3 4
for x in range(0, 5):
print(x, end=’,’)
#0,1,2,3,4,
但如果,我们同时运行上面两段代码,结果会如下所示,可知:我们需要在两次输出间,实现换行。

for x in range(0, 5):
print(x, end=’ ‘)
for x in range(0, 5):
print(x, end=’,’)

#0 1 2 3 4 0,1,2,3,4,
我们比较以下几种方式

方式一:

for x in range(0, 5):
print(x, end=’ ‘)

print(‘\n’)

for x in range(0, 5):
print(x, end=’,’)

”’
0 1 2 3 4
0,1,2,3,4,
”’
之所以出现上面这种情况,是因为print()本身就是默认换行的,再加上换行符,相当于换行两次。

方式二:

for x in range(0, 5):
print(x, end=’ ‘)

print() #本身自带换行,完美输出

for x in range(0, 5):
print(x, end=’,’)

”’
0 1 2 3 4
0,1,2,3,4,
”’

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155893.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月5日 下午1:36
下一篇 2022年7月5日 下午1:36


相关推荐

  • 為什麼 OpenAI 反而在追趕 Claude Code?

    為什麼 OpenAI 反而在追趕 Claude Code?

    2026年3月14日
    1
  • python modbus 实现RTU 通信

    python modbus 实现RTU 通信pythonmodbus tk 实现 RTU 通信下载对应 pip 由于没有硬件设备 采用软件模拟 软件下载地址为安装 vspd exe 用于模拟串口在没有安装前可以看到我们电脑没有对应的串口安装好通过 vspd 添加串口下载安装好开始连接 第一次连接需要激活模拟创建一个 HOLDING REGISTERS 点击左上角 file new 依次创建以下模拟器点击 Display communicatio 开始显示协

    2026年3月18日
    1
  • 腾讯 CodeBuddy + WorkBuddy:从写代码到管周报,一个 AI 生态通吃全场景

    腾讯 CodeBuddy + WorkBuddy:从写代码到管周报,一个 AI 生态通吃全场景

    2026年3月16日
    2
  • 怎样使用cookie登录自己的账号

    在这之前,不管是做测试还是挖漏洞总会遇到这种问题做测试的时候测试项里面有一个会话标识未更新,这种漏洞说白了就是在退出个人账户的时候没有及时的清除cookie,从而让别人利用你的cookie再次登录你的账户,然后测试的时候客户就让测试如何使用cookie登录在挖漏洞的时候一般xss都需要打cookie然后伪造别人的身份登录,其实也是使用打到的cookie登录在这之前我没深入的理解这块,现…

    2022年4月8日
    82
  • Netron – 网络可视化

    Netron – 网络可视化Netron 网络可视化 LutzRoederht github com lutzroeder netronhttps www lutzroeder com aiNetronisav deeplearning ItrunsonmacO Windows Linuxandinth Netron 是神经网络 深度学习和机器学

    2026年3月26日
    2
  • python 欠采样_欠采样(undersampling)和过采样(oversampling)会对模型带来怎样的影响?…

    python 欠采样_欠采样(undersampling)和过采样(oversampling)会对模型带来怎样的影响?…1 为什么类别不平衡会影响模型输出 大部分模型的默认阈值为输出值的中位数 比如逻辑回归的输出范围为 0 1 当某个样本的输出大于 0 5 就会被划分为正例 反之为反例 在数据的类别不平衡时 采用默认的分类阈值可能会导致输出全部为反例 产生虚假的高准确度 导致分类失败 因此很多答主提到了几点 1 可以选择调整阈值 使得模型对于较少的类别更为敏感 2 选择合适的评估标准 比如 ROC 或者 F1 而不是

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号