Python中使用 print 输出函数---最全解析

一 直接输出

python 复制代码
#直接输出:    语法 print()
a = 10
str = "我是字符串"
print(a)     #直接输出整形变量a
print(str) #直接输出字符串变量str
#注意,如果不是输出变量,而是直接输出字符串,则要加""
print("我是字符串")

转义字符

注意:单引号和双引号只是字符串的标志,不是内容。

例如:"hello",这里面包含5个字符 h e l l o。

对于字符串来讲,引号内的内容全部是字符,因为解释器、浏览器、编译器有时候不解析某些特殊符号,我们就需要使用 \ 对这些特殊符号进行转义说明。

使用 \ 后将其变为转义字符,使其在 " "中可以被识别,表示特定含义

\' 单引号

\" 双引号

\t tab制表符位

\n 回车换行

\a \b \r \\...

分隔符 sep

print 语句输出时,里面如果有多个元素,可以使用分隔符sep来分隔字符串

注意是分隔符,不是分割符

python 复制代码
print("姜太公钓鱼" ,"愿者上钩",sep=',')
print("姜太公钓鱼" ,"愿者上钩",sep='\n')

第一句以,分隔两个字符串

第二局以\n(换行符)分隔两个字符串

结束符 end

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":改变结束符

python 复制代码
x="a" y="b" 
# 换行输出 
print( x ) 
print( y ) 
print('---------') 
# 不换行输出 
print( x, end=" " ) 
print( y, end=" " ) 
print()
输出:
a
b
----------
a b

file=sys.stdout

file=sys.stdout:设置输出设备,及把print中的值打印到什么地方,默认输出到准端

可以设置 file = 文件储存对象,把内容存到该文件中,如下:

python 复制代码
f = open(r'a.txt', 'w')
print('python is good', file=f)
f.close()
则把python is good保存到 a.txt 文件中

flush=False

flush=False:该参数主要是刷新, 默认False,不刷新,Ture时刷新

例如在上面 示例中print中设置:

python 复制代码
f = open(r'a.txt', 'w')
print('python is good', file=f, flush=True)

正常情况下print到f中的内容先从到内存中,当文件对象关闭时才把内容输出到 a.txt 中,当flush=True时它会立即把内容刷新存到 a.txt 中

二、格式化输出

python 复制代码
#语法
print('格式符号' % (表达式))    #用%来转换匹配表达式(变量)
格式符号 转换为
%s 将x转换为一个整数
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

1. %d(整数)

%03d 表示格式化输出3位数,不足三位的用零补全,超出3位原样输出

python 复制代码
a = 1
b = 100
c = 1000
print("%03d" % a)
print("%03d" % b)
print("%03d" % c)

输出结果

2. %f(浮点数)

% f 默认输出6位小数

% .3f 输出小数点后3位,%.2f 为小数点后两位,会自动四舍五入

python 复制代码
r = 3.1415
print("%0.3f" % r)

运行结果

三、f - 字符串

" " 里的内容python自动认定它是字符串,那如果我们想在 " "(字符串)里面表示变量呢

f - 字符串语法,可以解析 " " 里面的变量名,输出变量,使变量不被认为是普通字符

python 复制代码
a = 10
print("我是a, 我的值是 a ")
#使用f-字符串语法
print(f"我是a, 我的值是 {a}")

输出结果为:

四、format 格式化函数

函数**str.format()**,它增强了字符串格式化的功能。

基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序

实例1(不设置参数):

python 复制代码
print("{} {}".format("hello", "world"))   # 不设置指定位置,按默认顺序
#结果:'hello world'

print("{0} {1}".format("hello", "world"))  # 设置指定位置
#结果:'hello world'
 
print("{1} {0} {1}".format("hello", "world")) # 设置指定位置
#结果:'world hello world'

实例2(设置参数):

python 复制代码
print("{f} {l}".format(f="hello", l="world"))
 
# 通过字典设置参数
site = {"f": "hello", "l": "world"}
print("{f} {l}".format(**site))
 
# 通过列表索引设置参数
my_list = ['hello', 'world']
print("{0[0]} {0[1]}".format(my_list))  # "0" 是必须的

输出:

hello world

hello world

hello world

实例3(数字格式化):

python 复制代码
print("{:.2f}".format(3.1415926))
#输出:3.14
数字 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
-1 {:+.2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数(四舍五入)
5 {:0>2d} 05 数字补0(填充左边,总宽度为2)
5 {:x<3d} 5xx 数字补x(填充右边,总宽度为3)
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)
11 '{:b}'.format(11) 1101 二进制
11 '{:d}'.format(11) 11 十进制
11 '{:o}'.format(11) 13 八进制
11 '{:x}'.format(11) b 十六进制
11 '{:#x}'.format(11) or '{:#X}'.format(11) 0xb or 0XB #:表示在十六进制(或八进制)中添加前缀,本例以十六进制为例

^, <, > 分别是居中、左对齐、右对齐,后面带宽度

: 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充

  • 表示在正数前显示 +,负数前显示 -,(空格)表示在正数前加空格
相关推荐
Jackilina_Stone1 小时前
【论文阅读笔记】SCI算法与代码 | 低照度图像增强 | 2022.4.21
论文阅读·人工智能·笔记·python·算法·计算机视觉
阳光开朗_大男孩儿1 小时前
QT_BEGIN_NAMESPACE 和 QT_END_NAMESPACE(一)
开发语言·数据库·qt
@yongchao_pan2 小时前
IC验证面试常问问题
开发语言·面试·vim
全栈师2 小时前
WinForm事件遇到异步方法的处理方式
java·开发语言·c#
sysu632 小时前
59.螺旋矩阵Ⅱ python
数据结构·python·算法·leetcode·面试
小码贾2 小时前
OpenCV-Python实战(14)——轮廓拟合
人工智能·python·opencv
Prejudices3 小时前
Qt信号的返回值
开发语言·qt
嵌入(师)3 小时前
C++基本语法
开发语言·c++
007php0073 小时前
gozero项目接入elk的配置与实战
运维·开发语言·后端·elk·golang·jenkins·ai编程
xiaosannihaiyl243 小时前
Lua语言的计算机基础
开发语言·后端·golang