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

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

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

  • 表示在正数前显示 +,负数前显示 -,(空格)表示在正数前加空格
相关推荐
向上的车轮4 分钟前
ODOO学习笔记(8):模块化架构的优势
笔记·python·学习·架构
醒着的睡着的人8 分钟前
Python---re模块(正则表达式)
python·正则表达式
chusheng184012 分钟前
Python 正则表达式进阶用法:量词与范围
python·mysql·正则表达式
fathing12 分钟前
c# 调用c++ 的dll 出现找不到函数入口点
开发语言·c++·c#
殷丿grd_志鹏13 分钟前
Python爬虫知识体系-----正则表达式-----持续更新
爬虫·python·正则表达式
前端青山34 分钟前
webpack指南
开发语言·前端·javascript·webpack·前端框架
hummhumm37 分钟前
第 10 章 - Go语言字符串操作
java·后端·python·sql·算法·golang·database
chusheng184041 分钟前
Python 正则表达式进阶用法:分组与引用详解
数据库·python·正则表达式
nukix1 小时前
Mac Java 使用 tesseract 进行 ORC 识别
java·开发语言·macos·orc
XiaoLeisj1 小时前
【JavaEE初阶 — 多线程】内存可见性问题 & volatile
java·开发语言·java-ee