Python3 print相关操作

1. 说明

1.1 符号说明

  • %字符:标记转换说明符的开始
  • 最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出
  • 点(.)后跟精度值:如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将从元组中读出

1.2 格式化输出进制

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

2. 字符串类print使用

string = 'hello'
# %s打印时结果是hello    
print("string=%s" %string)   # output: string=hello    

# %2s意思是字符串长度为2,当原字符串的长度超过2时,
# 按原长度打印,所以%2s的打印结果还是hello    
print ("string=%2s" %string )     # output: string=hello  

# %7s意思是字符串长度为7,当原字符串的长度小于7时,
# 在原字符串左侧补空格
print ("string=%7s" %string)     # output: string=  hello  

# %-7s意思是字符串长度为7,当原字符串的长度小于7时,
# 在原字符串右侧补空 
print ("string=%-7s" %string)     # output: string=hello  !    

# %.2s意思是截取字符串的前2个字符,所以%.2s的打印结果是he    
print ("string=%.2s" % string)    # output: string=he    
# 另一种写法,*代表的数字是小括号里的数字
print ("string=%.*s" % (3,string))  # output: string=hel

# %.7s意思是截取字符串的前7个字符,
# 当原字符串长度小于7时,即是字符串本身,       
print ("string=%.7s" % string)    # output: string=hello

# %a.bs这种格式是上面两种格式的综合,
# 首先根据小数点后面的数b截取字符串,    
# 当截取的字符串长度小于a时,还需要在其左侧补空格    
print ("string=%7.2s" % string)   # output: string=     he    
print ("string=%2.7s" % string)   # output: string=hello    
print ("string=%10.7s" % string)  # output: string=     hello    
    
# 还可以用%*.*s来表示精度,
# 两个*的值分别在后面小括号的前两位数值指定    
print ("string=%*.*s" % (7,2,string))   # output: string=     he

3. 整型int类print使用

num=14    
    
# %d打印时结果是14    
print ("num=%d" %num )            # output: num=14    
    
# %1d意思是打印结果为1位整数,当整数的位数超过1位时,
# 按整数原值打印,所以%1d的打印结果还是14    
print ("num=%1d" %num )           # output: num=14    
    
# %3d意思是打印结果为3位整数,当整数的位数不够3位时,
# 在整数左侧补空格,所以%3d的打印结果是 14    
print ("num=%3d" %num )           # output: num= 14    
    
# %-3d意思是打印结果为3位整数,
# 当整数的位数不够3位时,在整数右侧补空格   
print ("num=%-3d" %num )          # output: num=14_    
    
# %05d意思是打印结果为5位整数,
# 当整数的位数不够5位时,在整数左侧补0   
print ("num=%05d" %num )          # output: num=00014    
    
# %.3d小数点后面的3意思是打印结果为3位整数,    
# 当整数的位数不够3位时,在整数左侧补0   
print ("num=%.3d" %num )          # output: num=014    
    
# %.0003d小数点后面的0003和3一样,都表示3,意思是打印结果为3位整数,    
# 当整数的位数不够3位时,在整数左侧补0    
print ("num=%.0003d" %num )       # output: num=014    
    
# %5.3d是两种补齐方式的综合,当整数的位数不够3时,
# 先在左侧补0,还是不够5位时,再在左侧补空格,    
# 规则就是补0优先,最终的长度选数值较大的那个   
print ("num=%5.3d" %num )         # output: num=  014    
    
# %05.3d是两种补齐方式的综合,当整数的位数不够3时,
# 先在左侧补0,还是不够5位时,    
# 由于是05,再在左侧补0,最终的长度选数值较大的那个    
print ("num=%05.3d" %num )        # output: num=00014    
    
# 还可以用%*.*d来表示精度,两个*的值分别在后面小括号的前两位数值指定       
print ("num=%*.*d" % (5,4,num))  # output: num= 0014    

4. 浮点数float

import math
# 正常输出,%f表示浮点数格式控制
print 'PI = %f' % math.pi
# PI = 3.141593
 
# 宽度 = 10, 精度 = 3, 左对齐
print 'PI = %10.3fxxx' % math.pi
# PI =  3.142xxx
 
# 宽度 = 10, 精度 = 3, 右对齐
print 'PI = %-10.3fxxx' % math.pi
# PI = 3.142  xxx
 
# 使用0前面填充字符串
print 'PI = %06d' % int(math.pi)
# PI = 000003

5.Python format()格式控制

5.1 万能的%r

# 它可以将后面给的参数原样打印出来,带有类型信息
formatter = '%r %r %r %r'
print(formatter % (1, 2, 3, 4))
# output    1 2 3 4
print(formatter % ('one', 'two', 'three', 'four'))
# output    'one' 'two' 'three' 'four'
print(formatter % (True, False, False, True))
# output    True False False True
print(formatter % (formatter, formatter, formatter, formatter))
# output    '%r %r %r %r' '%r %r %r %r' '%r %r %r %r' '%r %r %r %r'
print(formatter % ("I thing.","had right.","But it.","said good.") )
# output    'I thing.' 'had right.' 'But it.' 'said good.'

5.2 通过位置标号

# {0}表示第一个元素, {1}表示第二个元素, {2}表示第三个元素,以此类推。。。
a = 'Ace'
b = 'hello'
print("{1}, my name is {0}".format(a, b))
# output    hello, my name is Ace

5.3 通过关键词参数

name = "Ace"
age = 26
print("{myname}'s age is {myage}".format(myname=name, myage=age))
# output    Ace's age is 26

5.4 通过属性和下标

person = ["Ace", 26]
personB = ["bce", 29]
print("{0[0]}'s age is {1[1]}".format(person, personB))
# output    Ace's age is 29

print("{people[0]}'s age is {people[1]}".format(people=person))
# output    Ace's age is 26
# 字典字符串
person = {'Ace': 23}
print("{myname}'s age is {people[Ace]}".format(myname=name,people=person))
# output    Ace's age is 23

5.5 格式化限定符和填充与对齐

# “ ^ ”、“ < ”、“ > ”分别代表居中,左对齐,右对齐,后面带宽度
a = 123.456789
haha = 'haha!!!'
print("{0:0.3f}, *{1:<14}*".format(a, haha))
print("{0:0.3f}, *{1:>14}*".format(a, haha))
print("{0:0.3f}, *{1:^14}*".format(a, haha))
print("{0:0.3f}, *{1:}*".format(a, haha))

输出:

# 123.457, *haha!!!    *
# 123.457, *    haha!!!*
# 123.457, *  haha!!!  *
# 123.457, *haha!!!*
  • 5
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值