python 格式化字符串有啥用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 格式化字符串有啥用相关的知识,希望对你有一定的参考价值。
格式 描述%% 百分号标记 #就是输出一个%
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中
%格式化符也可用于字典,可用%(name)引用字典中的元素进行格式化输出。
负号指时数字应该是左对齐的,“0”告诉Python用前导0填充数字,正号指时数字总是显示它的正负(+,-)符号,即使数字是正数也不例外。
可指定最小的字段宽度,如:"%5d" % 2。也可用句点符指定附加的精度,如:"%.3d" % 3。
e.g.
# 例:数字格式化
nYear = 2018
nMonth = 8
nDay = 18
# 格式化日期 %02d数字转成两位整型缺位填0
print \'%04d-%02d-%02d\'%(nYear,nMonth,nDay)
>> 2018-08-18 # 输出结果
fValue = 8.123
print \'%06.2f\'%fValue # 保留宽度为6的2位小数浮点型
>> 008.12 # 输出
print \'%d\'%10 # 输出十进制
>> 10
print \'%o\'%10 # 输出八进制
>> 12
print \'%02x\'%10 # 输出两位十六进制,字母小写空缺补零
>> 0a
print \'%04X\'%10 # 输出四位十六进制,字母大写空缺补零
>> 000A
print \'%.2e\'%1.2888 # 以科学计数法输出浮点型保留2位小数
>> 1.29e+00
格式化操作符辅助指令
符号 作用
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
在正数前面显示空格
# 在八进制数前面显示零(\'0\'),在十六进制前面显示\'0x\'或者\'0X\'(取决于
用的是\'x\'还是\'X\')
0 显示的数字前面填充‘0’而不是默认的空格
% \'%%\'输出一个单一的\'%\'
(var) 映射变量(字典参数)
m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) 参考技术A
作用很多
可能是为了更有意义的打印输出
可能是为了文档的相关要求,尤其是有协议的要求。
python struct模块
1)这个模块有啥用?网上搜的下面这坨我大概明白了struct有啥用,这块我也是基本的了解,不能提炼其精华,自己看着理解就好了
----
我们知道python只定义了6种数据类型,字符串,整数,浮点数,列表,元组,字典。但是C语言中有些字节型的变量,在python中该如何实现呢?这点颇为重要,特别是要在网络上进行数据传输的话。python提供了一个struct模块来提供转换。
----
按照指定格式将Python数据转换为字符串,该字符串为字节流,如网络传输时,不能传输int,此时先将int转化为字节流,然后再发送;
按照指定格式将字节流转换为Python指定的数据类型;
处理二进制数据,如果用struct来处理文件的话,需要用’wb’,’rb’以二进制(字节流)写,读的方式来处理文件;
处理c语言中的结构体;
2)struct 模块中的函数
>>> from struct import Struct >>> record_struct = Struct(\'<idd\') >>> record_struct.size 20 >>> record_struct.pack(1, 2.0, 3.0) b\'\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00@\\x00\\x00\\x00\\x00\\x00\\x00\\x08@\' >>> record_struct.unpack(_) (1, 2.0, 3.0) >>>
3)对齐方式
以上是关于python 格式化字符串有啥用的主要内容,如果未能解决你的问题,请参考以下文章