Python如何格式化输出字符串!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python如何格式化输出字符串!相关的知识,希望对你有一定的参考价值。

print("***************** ①请选择要打包的资源类型 *****************");
print(" ** 0: %-18s %-18s 目标平台:%-18s" %("CSV","数据表资源","PC,ios,android"));
print(" ** 1: %-18s %-18s 目标平台:%-18s" %("UI","界面资源","PC,IOS,Android"));
print(" ** 2: %-18s %-18s 目标平台:%-18s" %("Scene","场景资源","PC,IOS,Android"));
print(" ** 3: %-18s %-18s 目标平台:%-18s" %("Audio","音乐音效资源","PC,IOS,Android"));
print(" ** 4: 0:18 1:18 2:<18".format("HalfRole","半身像资源","目标平台:PC,IOS,Android"));
print(" ** 5: 0:18 1:18 2:<18".format("HeroCard","卡牌资源","目标平台:PC,IOS,Android"));
print(" ** 6: 0:18 1:18 2:<18".format("SingleSpriteImage","图标资源","目标平台:PC,IOS,Android"));
print(" ** 7: 0:18 1:18 2:<18".format("CharacterAndEffect","角色和技能特效资源","目标平台:PC"));
print("*********************************************************");
这样排版最后怎么是歪的呢!麻烦大神门看看为什么!
贴一堆输出方式没用啊,我又不是不知道该怎么去格式化输出,我的问题看图就知道了!大神只需告诉我代码你哪里出的问题,导致最后一列没对齐就行了,别在贴怎么去格式化输出的代码了!

python一共有两种格式化输出语法,


    一种是类似于C语言printf的方式,称为 Formatting Expression


  >>>print '%s %d-%d' % ('hello', 7, 1)

  'hello 7-1'



    另一种是类似于C#的方式,称为String Formatting Method Calls

  >>>print '0 1:2'.format('hello', '1', '7')

  'hello 1:7'


第一种方式可以指定浮点数的精度,例如


>>> print'%.3f' % 1.234567869  

'1.235'  




运行时动态指定浮点数的精度


但是当代码在运行中如何动态地通过参数来指定浮点数的精度呢?


python的神奇之处在于它又提供了一种非常方便的语法。只需要在 typecode(这里是f)之前加一个 *,浮点数的精度就用它前面的数字来指定。


>>> for i in range(5):  

...  print'%.*f' % (i, 1.234234234234234)  

...   

'1'  

'1.2'  

'1.23'  

'1.234'  

'1.2342'  


通过输出结果可以看出,精度都是在运行时动态指定,这样就省去了格式化字符串的拼凑。


使用 String Formatting Method Calls 可以更简洁地完成功能。


>>> for i in range(5):  

...   print'0:.1f'.format(1 / 3.0, i)  

...   

'0'  

'0.3'  

'0.33'  

'0.333'  

'0.3333' 


附录是一些常用用法——

  python print格式化输出。


  1. 打印字符串


  print ("His name is %s"%("Aviad"))


  


  2.打印整数


  print ("He is %d years old"%(25))


  


  3.打印浮点数


  print ("His height is %f m"%(1.83))


  


  4.打印浮点数(指定保留小数点位数)


  print ("His height is %.2f m"%(1.83))


  


  5.指定占位符宽度


  print ("Name:%10s Age:%8d Height:%8.2f"%("Aviad",25,1.83))


  


  6.指定占位符宽度(左对齐)


  print ("Name:%-10s Age:%-8d Height:%-8.2f"%("Aviad",25,1.83))


  


  7.指定占位符(只能用0当占位符?)


  print ("Name:%-10s Age:%08d Height:%08.2f"%("Aviad",25,1.83))


  


  8.科学计数法


  format(0.0015,'.2e')

参考技术A 我给你看一下三种类形
格式是这样的print('格式化形式...格式化形式...' % (对象,对象))
对象的类型是各种各样的!
1.print('%s...%s...' % (对象,对象))这里的%s是字符串形式,对象可以是变量(变量的值是字符串形式)或者字符串
2.print('%d...%d...' % (对象,对象))这里的%d是数形式,对象可以是变量(变量的值是数,但是不能有小数点)或者没有小数点的数
3.print('%.数字f...%.数字f' % (对象,对象))这里的%f是数形式,对象可以是变量(变量的值是数,但是一定要有小数点)或者有小数点的数
PS:%f的格式f前面是留住的小数点,留着的小数点数前面要有个.例:a = 5.44我想输出是留下一位小数就写print('%.1f' % (a))就是正确输出了
望采纳,谢谢

Python如何输出格式化的字符串

1 为什么需要格式化输入字符串

我们经常会输出类似‘亲爱的xxx你好!你xx月的话费是xx,余额是xx‘之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。

                                                                                                                                                                --引自廖雪峰老师官网

2 如何实现输入格式

2.1 使用%号的方式实现,如:

>>> name = "xiaoming"
>>> age =20
>>> "%s is %d years old." % (name, age)
xiaoming is 20 years old.

在Python中,%就是用来格式化字符串的。%s表示用字符串替换,%d表示用整数替换。有几个%s%d,后面就跟着几个变量或值,按对应的顺序,依次替换

如果只有一个%s,后面的括号可以去掉

常见的占位符有:

%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数

2.2 format

  • 一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,过这种方式写起来比%要麻烦得多:
>>> name = "xiaoming"
>>> age =20
>>> "%s is %d years old." % (name, age)
xiaoming is 20 years old.
>>> "{0} is {1} years old.".format(name, age)
xiaoming is 20 years old.
>>> "{} is {} years old.".format(name, age)
xiaoming is 20 years old.

 

注意:

1.占位符中的0、1等,可以省略,但加上更具可读性。
2.format中不仅可以加字符串、整数,还可以是元组、字典等

 










以上是关于Python如何格式化输出字符串!的主要内容,如果未能解决你的问题,请参考以下文章

如何将JSON字符串格式化输出

如何输出格式化的字符串(学习笔记四)

Python 学习笔记 -- 字符串格式化输出

python-格式化输出(考试必考)

python用户交互与格式化输出

c语言如何控制小数位数