Python3格式化输出语句

来源

笨办法学Python一书中是基于Python2的例子,我不想换Python2,在练习Python输出语句时想试试一次输出多个变量值。

方法

print("%s,%d,%d"%(name ,age ,school))

注意:双引号后面没有逗号“,”,C/C++printf()函数中间是有一个逗号的,注意区分。
如果不适用格式化输出,可以直接在引号后面加逗号“,”后接变量名,但是这样就需要将字符串拆开,原来每个格式化字符出直接使用变量名,详情见下图

在这里插入图片描述

  • 将print()语句中输出部分断开成几行,使用三个双引号
    你可以在一组三引号之间放入任意多行的文字
    print(""“Hello
    GOood evenning
    see you”"")

格式化输出控制符及其含义

%%    输出百分号
%c    字符及其ASCII码
%d    有符号整数(十进制)
%u    无符号整数(十进制)
%o    无符号整数(八进制)
%x    无符号整数(十六进制)
%X    无符号整数(十六进制大写字符)
%e    浮点数字(科学计数法)
%E    浮点数字(科学计数法,用E代替e)
%f    浮点数字(用小数点符号)
%g    浮点数字(根据值的大小采用%e或%f)
%G    浮点数字(类似于%g)
%p    指针(用十六进制打印值的内存地址)
%n    存储输出字符的数量放进参数列表的下一个变量中
%r    优先用repr()函数进行字符串转换
%s    优先用str()函数进行字符串转换

字符串格式控制

%[(name)][flag][width][.][precision]type
name:可为空,数字(占位),命名(传递参数名,不能以数字开头)以字典格式映射格式化,其为键名
flag:标记格式限定符号,包含±#和0,+表示右对齐(会显示正负号),-左对齐,前面默认为填充空格(即默认右对齐),0表示填充0,#表示八进制时前面补充0,16进制数填充0x,二进制填充0b
width:宽度(最短长度,包含小数点,小于width时会填充)
precision:小数点后的位数,与C相同
type:输入格式类型,请看上面

str.format()格式控制

{[name][:][[fill]align][sign][#][0][width][,][.precision][type]}
用{}包裹name命名传递给format以命名=值 写法,非字典映射,其他和上面相同

fill =  <any character>  #fill是填充字符
align =  "<" | ">"  | "^"  #align是对齐方式,<是左对齐, >是右对齐,^是居中对齐。
sign  =  "+" | "-"   #sign是符号, +表示在正数前面显示正号, -表示左对齐
# 八进制显示0,十六进制显示0X或者0x
0       数字前面填充0而不是空格 
width =  integer  #width是数字宽度,表示总共输出多少位数字
precision =  integer  #precision是小数保留位数
type =  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"  #type是输出数字值是的表示方式
比如b是二进制表示;比如E是指数表示;比如X是十六进制表示例子

%r 与 %s 和 %d?

%r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符
号则是用来向用户显示输出的。

%r 用来 debug 最好,而其它格式符则是用来向用户显示输出的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值