Python之旅——格式化输出

本文详细介绍了Python中三种格式化输出的方法:%格式化输出、format格式化输出以及f-string格式化输出,并通过实例展示了每种方法的具体用法及其特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

格式化输出

a. %格式化输出的方式和C语言中的printf中的类似。
b. format的格式化输出比较灵活,可以使用{}或者{n}的方式输出。
c. f-string格式化字符串常量(formatted string literals),使用f或F引领的字符串,字符串中使用{}标明被替换的字段。
 

三者区别:

  • 多参数时,%格式化输出只能按照顺序输出;

  • format的方式,可以根据指定的参数位置进行输出;

  • f-string方式,简化格式化输出

 
a. print中使用%进行格式化输出
%[(name)][flags][width].[precision]typecode
整数输出方式:
    八进制:%o
    十进制:%d
    十六进制:%x
浮点数输出方式:
    %f:默认输出小数点后6位
    %.2f:表示输出小数点后2位
字符串:
     %s
num = 100000000001

print("%o" %num)
print("%d" %num)
print("0x%x" %num)

num = 1000000000001.3
print("%f" %num)
print("%.2f" %num)
print(num) #输出数据本身的长度

study = "Python study"
print("%s:%d" %(study, num)) #两个参数的方式,根据参数传入顺序输出
print(study)

输出结果:


1351035564001
100000000001
0x174876e801
1000000000001.300049
1000000000001.30
1000000000001.3
Python study:1000000000001
Python study

b. format格式化输出——{}和:

   format功能更加的强大,输出参数可以指定入参位置及重复输出同一个参数。一般用法:
   
 outputStr.format(args)

基本使用方法:

    1)空大括号{}
    2)指定参数位置{0},{2}
    3)指定变量{arg}
更多用法,请参考 formatstrings
a = 39
b = 298
c = 23
print("{},{}:{}".format(a, b, c))
print("{2},{0}/{2}".format(a, b, c))
print("{1}&{1}?{1}".format(a, b, c))

输出结果:

39,298:23
23,39/23
298&298?298

输出对齐方式,使用{}和:

冒号后使用<^>分别表示居左,居中,居右,后面带输出宽度
 
str1 = "ab"
str2 = "abcd"
str3 = "abcd"
str4 = "abcdefgh"
print("{0:^8}\n{1:<8}\n{2:>8}\n{3}".format(str1, str2, str3, str4))

 

输出结果:输出位宽为8

   ab
abcd
    abcd
abcdefgh

进制转换、精度控制,使用{}和:

{index:[.num]format},其中index表示参数索引,.num 表示浮点数需要控制小数点后的精度num,format表示参数进制。
{:b}——二进制
{:o}——八进制
{:d}——十进制
{:x}——十六进制
{:.2f}——输出带2位小数浮点数
{:,}——输出数字带千位分隔符,比如:2,000,000
{:%}——输出百分数,默认小数点后六位,若只保留两位,则{:.2%}
 
value = 23
print("b{:b}".format(value))
print("0{:o}".format(value))
print("{:d}".format(value))
print("0x{:x}".format(value))
print("{:.3f}".format(value))
print("{:,}".format(2000000))
print("{:.2%}".format(value))

输出结果:

b10111
027
23
0x17
23.000
2,000,000
2300.00%

c. f-string方式

f"{var}"
 或
F"{var}"

更多用法,请参考f-strings 

num = 23
print(f"num={num}")
print(F"num={num}")
 ​
nums = [1, 2, 3]
print(f"nums={nums}")

输出结果:

 num=23
 num=23
 nums=[1, 2, 3]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值