菜比之路

走菜比的路,让大牛说去吧
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

【python】格式化输出

Posted on 2015-03-11 22:04  毕加索的ma  阅读(393)  评论(0编辑  收藏  举报
  • 格式化字符串

 

方法一:

{}使用关键字参数, 然后把值指向该参数,注意定义参数时,建议使用“单前导下划线 _var

name='paulwinflo'
site='https://www.cnblogs.com/paulwinflo/' 


print('{_name}网址: {_site}'.format(_name=name, _site=site))   ##_name和_site为定义的参数
#>>>paulwinflo网址: https://www.cnblogs.com/paulwinflo/

  

方法二:

{}中使用数字用于指向传入对象在 format() 中的位置

name='paulwinflo'
site='https://www.cnblogs.com/paulwinflo/'

print('{0}网址: {1}'.format(name,site))
#>>>paulwinflo网址: https://www.cnblogs.com/paulwinflo/
print('{1}网址: {0}'.format(name,site))
#>>>https://www.cnblogs.com/paulwinflo/网址: paulwinflo

##当然 方法二与 方法一也能混合使用
print('{0}网址: {_site}'.format(name,_site=site)) #>>>paulwinflo网址: https://www.cnblogs.com/paulwinflo/

 

方法三:

{}中使用 : 和格式标识来格式化

 

salary_jack=3423.324
salary_paul=4423.524

print('jack salary is {0:.2f} and paul salary is {1:.2f} 。'.format(salary_jack,salary_paul)) ###其中“:”前面的数字为指向传入对象在 format() 中的位置
#>>>jack salary is 3423.32 and paul salary is 4423.52 。
print('jack salary is {:.2f} and paul salary is {1:.2f} 。'.format(salary_jack,salary_paul)) ###其中“:”前面的数字为指向传入对象在 format() 中的位置,0可缺省
#>>>jack salary is 3423.32 and paul salary is 4423.52 。

 

方法四:

传统的格式化字符串 %,不推荐使用

 

print('%s网址: %s'%(name,site))   ##_使用%来格式化
#>>>paulwinflo网址: https://www.cnblogs.com/paulwinflo/

  

 常见的格式化标识符

 

以下几个常用的实例:

 1.%d的使用

print "%+d" % (-5)
>>>-5 print "%+d" % (5)
>>>+5 print "%d%%" % (5)
>>>5%

 2.%f的使用

print "%.4f" %(12345.667203)
>>>12345.6672
print "%11.4f" %(12345.667203)##11表示包括“+”“-”"."以及所有数字所占的位数,若实际数字不足11位,则用空格表示,4表示小数点后保留的位数
>>>  12345.6672
print "%011.4f" %(12345.667203)##实际位数不足11位,用0表示
>>>012345.6672

  

  • 格式化字典

方法一:

一个字典, 然后使用方括号 [] 来访问键值 

 

table={ 'name':'paulwinflo','site':'https://www.cnblogs.com/paulwinflo/'}
print('myname: {0[name]:s}; myweb: {0[site]:s}'.format(table))
#>>>myname: paulwinflo; myweb: https://www.cnblogs.com/paulwinflo/

方法二:

在字典前使用 ** 

table={ 'name':'paulwinflo','site':'https://www.cnblogs.com/paulwinflo/'}

print('myname: {name:s}; myweb: {site:s}'.format(**table)) ##"**" 会把字典变为name=paulwinflo,site=https://www.cnblogs.com/paulwinflo/
#>>>myname: paulwinflo; myweb: https://www.cnblogs.com/paulwinflo/