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 #:表示在十六进制(或八进制)中添加前缀,本例以十六进制为例

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

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

  • 表示在正数前显示 +,负数前显示 -,(空格)表示在正数前加空格
相关推荐
数据智能老司机3 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机4 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机4 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机4 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i5 小时前
drf初步梳理
python·django
每日AI新事件5 小时前
python的异步函数
python
这里有鱼汤6 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python
databook15 小时前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室15 小时前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python
倔强青铜三17 小时前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试