Python数据的输出

一.标准输出

1.使用表达式

Python数据的输出_第1张图片

 2.使用print()函数

基本格式为:

print([输出项1,输出项2,......,输出项n][,sep=分隔符][,end=结束符])


没有输出项时输出一个空行:

print()

Python数据的输出_第2张图片

这里输出了两个空行是因为print()输出了一个空行,结尾又输出了一个换行符,所以是两行。 


其中,输出项之间以逗号分隔,sep表示输出时各输出项之间的分隔符(默认以空格分隔),end表示结束符(默认以回车换行结束)

x = 12
y = 45
print(x, y)   #输出项x与y之间以逗号分隔

因为没有设置分隔符,所以以空格分隔:

Python数据的输出_第3张图片

 如果有分隔符:

x = 12
y = 45
print(x, y, sep='-')

Python数据的输出_第4张图片


没有设置end的情况:

x = 12
print(x)

结尾会多输出一个换行符:

Python数据的输出_第5张图片

设置了end的情况:

x = 12
print(x, end='!')

结尾的换行符就变成了其他符号:(不换行了)

Python数据的输出_第6张图片


 例:

print(10, 20, sep='-', end='*')
print(30)

Python数据的输出_第7张图片


二.格式化输出

1.利用字符串格式化运算符%

一般格式为:

格式字符串%(输出项1,输出项2,......,输出项n)

例如:

print('The value is ¥%.2f' % 7.8)

 单引号内的字符为格式字符串,格式字符串分为普通字符和格式说明符,格式说明符以%开头,普通字符原样输出

本例中,The value is ¥是普通字符,原样输出,%.2f是格式说明符,表示输出项保留小数点后两位。


例如:

print('Values are %s,%s,%s' % (1, 2.3, ['one', 'two', 'three']))

格式符%s表示输出类型是字符串类型

 输出结果:

Python数据的输出_第8张图片


例如:

print('%6.2f'%12.345)

它表示输出的长度为6个字符,保留小数后两位。(默认右对齐)(小数点也算一个字符)

Python数据的输出_第9张图片

(12.35左边有一个空格) 

如果输出项的数的位数大于控制输出的长度:

print('%6.2f'%12345678.345)

原样输出

Python数据的输出_第10张图片

左对齐的方式: (加负号)

print('%-6.2f'%12.345,end='*')

Python数据的输出_第11张图片

可以看到12.35与*之间有一个空格,即左对齐


 例如:

print('%06.2f'%1.2345)

在6的前面多加了个0,表示输出的位数不足用6位就用0补足

Python数据的输出_第12张图片

除了0以外,我们还可以使用-与+

-表示左对齐,+表示在正数前面也加上+号

print('%-7.2f' % 1.2345, end='*\n')
print('%+7.2f' % 1.2345, end='*\n')
print('%-+7.2f' % 1.2345, end='*')

Python数据的输出_第13张图片


有时候在"%6.2f"这种格式字符串中,输出长度和小数位数不能事先指定,这时可以用%*.*f的形式

例如:

print('%0*.*f'%(8,2,123.524))

括号不能删!

print('%0*.*f'%8,2,123.524)  #这样是不对的

相当于:

print('%08.2f'%123.524)

Python数据的输出_第14张图片

 


例:

print('%+3d,%0.2f' % (25, 123.567))
print("Name:%-10s Age:%-8d Salary:%-0.2e" % ("Aviad", 25, 1839.8))
nHex = 0xFF
print("nHex=%x,nDec=%d,nOct=%o" % (nHex, nHex, nHex))

Python数据的输出_第15张图片

 

格式说明符 格式化结果
%% 百分号
%c

字符

%s 字符串
%d 带符号整数(十进制)
%o 带符号整数(八进制)
%x或%X 带符号整数(十六进制,用小写字母或大写字母)
%e或%E 浮点数字(科学计数法,用小写e或大写E)
%f或%F 浮点数字(用小数点符号)
%g或%G 浮点数字(根据值的大小,采用%e,%f或%E,%F)

2.利用format()内置函数

format()函数可以将一个输出项单独格式化,一般格式为:

format(输出项[,格式字符串])

如果省略格式字符串时,该函数等价于函数“str(输出项)”的功能。

print(format("Hello"))

Python数据的输出_第16张图片

 

格式字符串 格式化结果
d 十进制
b 二进制
o 八进制
x或X 十六进制
f或F 浮点数字(用小数点符号)
e或E 浮点数字(科学计数法,用小写e或大写E)
g或G 浮点数字(根据值的大小,采用%e,%f或%E,%F)
c 以整数为编码的字符
% 输出百分号

例:

print(format(15,'X'),format(65,'c'),format(3.145,'6.2f'))

Python数据的输出_第17张图片


 格式字符串还可以指定:

1.填充字符

print(format(3.145,'08.2f'))
print(format(3.145,'08.2'))

08.2f中,0是填充字符,8表示总共占8个字符长度,.2f表示保留小数点后两位(不包括小数点)

08.2中,0是填充字符,8表示总共占8个字符长度,.2表示不包括小数点在内的输出位数是2位

Python数据的输出_第18张图片

 

2.对齐方式(<表示左对齐,>表示右对齐,^表示居中对齐,=表示填充字符位于符号和数字之间)

print("01234567890123456789")#20个字符
print(format('text','<20'))
print(format('text','^20'))
print(format('text','>20'))

20表示在20个字符长度中进行对齐

Python数据的输出_第19张图片

 

print(format(-3.145,'$=8.2'))

$是填充字符,=表示填充字符$位于符号-和数字3之间

Python数据的输出_第20张图片

 

3.符号(+表示正号,-表示负号)

没有+号时,输出一个正数不会输出+号,加上正号才会有+号

print(format(3.145, '8.2'))
print(format(3.145, '+8.2'))

Python数据的输出_第21张图片

 

输出一个正数时,即使加上负号也不会输出-号

print(format(3.145, '8.2'))
print(format(3.145, '-8.2'))

Python数据的输出_第22张图片


3.字符串的format()方法

 调用格式:

格式字符串.format(输出项1,输出项2,……,输出项n)

其中格式字符串可以是普通字符和格式字符串。普通字符原样输出,格式字符串决定所对应输出项的转换格式。


普通字符:

print("Hello".format())#普通字符

Python数据的输出_第23张图片

 

格式字符串使用大括号括起来,一般形式如下:

{[序号]:格式说明符}

序号对应着后面的输出项:(省略全部序号按输出项的顺序输出)

print("{0},{1},{2}".format(1, 2, 3))
print("{2},{1},{0}".format(1, 2, 3))
print("{0},{0},{0}".format(1, 2, 3))
print("{},{},{}".format(1, 2, 3))

Python数据的输出_第24张图片

 可选的键要对应输出项的名字或字典的键值:

print("{y},{x},{z}".format(x=1, y="Hello", z=3))

其中x,y,z就是键。

 

如果序号或键与格式说明符一起使用,那么就要在序号或键后面加上:再写格式说明符

例:

print("{1:5.2f},{0}".format(500,3.1415))

{1:5.2f}中1表示输出项1,:是必须写的,5.2f表示输出占5个字符长度,保留小数后两位

Python数据的输出_第25张图片


例:

使用大括号“{}”格式说明符,大括号及里面的字符(称为格式化字符)将会被format()中的参数替换

print("I\'m{},{}".format("JYHZZ","Welcome!"))

Python数据的输出_第26张图片

import math
print("The value of PI is approximately {}".format(math.pi))

 Python数据的输出_第27张图片

 

使用“{序号}”形式的格式说明符,在大括号中的数字用于指向输出对象在format()函数中的位置。

print("{0},i\'m {1}.My E-mail is {2}".format("Hello","JTHZZ","666"))

Python数据的输出_第28张图片

 改变格式说明符的位置:

print("{1},i\'m {2}.My E-mail is {0}".format("666","Hello","JTHZZ"))

Python数据的输出_第29张图片

 使用“{键}”形式的格式说明符,大括号中是一个标识符,该标识符会指向使用该名字的参数

print("Hi,{nm}.{ms}".format(nm="JYHZZ",ms="How are you?"))

Python数据的输出_第30张图片

 

混合使用“{序号}”,“{键}”形式的格式说明符

print("Hi,{0}.{ms}".format("JYHZZ",ms="How are you?"))

Python数据的输出_第31张图片

输出的格式控制:

序号和键后面可以跟一个冒号:和格式说明符,这就允许对输出项进行更好的格式化。

例如,{0:8}表示format()中的第一个参数占8个字符宽度,如果输出位数大于该宽度,就按实际位数输出;如果输出位数小于这个宽度,默认右对齐,左边补空格,补足8位。

{1:.3}表示第二个输出项除小数点外的输出位数是3位。

{1:.3}表示保留小数点后3位。

import math
print("The value of PI is approximately {0:.3}".format(math.pi))
print("The value of PI is approximately {0:.3f}".format(math.pi))

Python数据的输出_第32张图片


 

例如:

 

print("{0:<15}".format(1234567890))#左对齐
print("{0:>15}".format(1234567890))#右对齐
print("{0:*^15}".format(1234567890))#中间对齐,空位以*填充
print("{0:10b}".format(65))#用二进制形式输出
print("{0:10o}".format(65))#用八进制形式输出
print("{0:10x}".format(65))#用十六进制形式输出

Python数据的输出_第33张图片

 

你可能感兴趣的:(Python语言程序设计,python,开发语言)