您现在的位置是:首页 > 正文

【Python】格式化字符串输出

2024-02-01 01:51:44阅读 4
一 简介
   python 字符串输出格式化有两种方式 %[s,d,] , python 2.6 版本提供了string.format(),其功能也相当强大。talk is cheap,show me the code .
二 使用
2.1 参数映射
str.format 通过 {} 替换 字符串的 %,我们可以使用基于位置映射参数,基于下表,基于参数
比如 

  1. In [23]: print 'i am a %s,work at %s !' %('dba','youzan')
  2. i am a dba,work at youzan !
  3. In [24]: print 'i am a {0},work at {1} !'.format('dba','youzan')
  4. i am a dba,work at youzan !
  5. In [26]: print 'i am a {arg},work at {company} !'.format(arg='dba',company='youzan')
  6. i am a dba,work at youzan !
  7. format 不限制参数的调用次数
  8. In [28]: print 'i am a {0},work at {1},and {1} is  good at SAAS service !'.format('dba','youzan')
  9. i am a dba,work at youzan,and youzan is  good at SAAS service !

2.2 格式化输出
% 提供丰富的格式化输出,format当然也有同样的功能。
填充与对齐 
^ 居中
< 左对齐
> 右对齐 后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
具体的使用方式如下
  1. In [30]: fs='{:<8}'
  2. In [31]: fs.format('dba')
  3. Out[31]: 'dba '
  4. In [32]: fs='{:1<8}'
  5. ##左对齐
  6. In [33]: fs.format('dba')
  7. Out[33]: 'dba11111'
  8. #右对齐
  9. In [34]: fs='{:1>8}'
  10. In [35]: fs.format('dba')
  11. Out[35]: '11111dba'
  12. #居中
  13. In [36]: fs='{:1^8}'
  14. In [37]: fs.format('dba')
  15. Out[37]: '11dba111'
浮点数精度
  1. In [40]: fs='{:.3f}'
  2. In [41]: fs.format(3.14159265358)
  3. Out[41]: '3.142'
数字的进制
  1. b 分别是二进制
  2. d 十进制
  3. o 八进制
  4. x 十六进制。
  1. In [42]: ':b'.format(29)
  2. Out[42]: ':b'
  3. In [43]: '{:b}'.format(29)
  4. Out[43]: '11101'
  5. In [44]: '{:d}'.format(29)
  6. Out[44]: '29'
  7. In [45]: '{:x}'.format(29)
  8. Out[45]: '1d'
  9. In [46]: '{:o}'.format(29)
  10. Out[46]: '35'
用逗号 还能用来做金额的千位分隔符。

  1. In [47]: '{:,}'.format(2132323455)
  2. Out[47]: '2,132,323,455'

三 小结
  理论知识就介绍到这里了,如何在实际中运用呢?就交给给位读者朋友了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22664653/viewspace-2142776/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22664653/viewspace-2142776/

网站文章

  • vue常用修饰符

    一、v-model修饰符1、.lazy:输入框改变,这个数据就会改变,lazy这个修饰符会在光标离开input框才会更新数据2、.trim:输入框过滤首尾的空格<input type="text" v...

    2024-02-01 01:51:18
  • 判断一个字符串中是否包含中文字符

    判断一个字符串中是否包含中文字符

    判断一个字符串中是否包含中文字符

    2024-02-01 01:51:12
  • docker部署前后端分离项目

    docker部署前后端分离项目

    一、操作系统准备:centos7.8二、docker环境准备:参考:Install Docker Engine on CentOS | Docker Documentation(1)卸载之前版本sud...

    2024-02-01 01:51:05
  • Python之异常设计(一)

    一 定义 异常分为两类:一类是自动触发异常如除零错误;另一类是通过raise触发。 二 为什么要使用异常 当程序运行时,如果检测到程序错误,Python就会引发异常,我们可以在程序中使用try语句捕获异常,并对异常进行处理。如果我们不做异常的捕获,异常就会一直往上层抛出,直到顶层Python的默认异常处理器,默认异常处理器将会停止程序并打印异常,这通常会引起程序崩溃,造成不好的用户体验,...

    2024-02-01 01:50:35
  • Redis 高可用之持久化

    Redis 高可用之持久化

    在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务( 如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。

    2024-02-01 01:50:29
  • 14. 二分查找

    DescriptionFor a given sorted array (ascending order) and a target number, find the first index of t...

    2024-02-01 01:50:23
  • 大数据—Hadoop生态圈

    大数据—Hadoop生态圈

    前言 整理了一下目前常用的hadoop组件,后续将会对这些组件的具体应用场景和使用细节进行展开分析。如果大家发现有更好的建议欢迎大家在下方留言。

    2024-02-01 01:49:55
  • 1021 个位数统计 (15 分)

    1021 个位数统计 (15 分) 给定一个 k 位整数 N=dk−1 10k−1 +⋯+d1 101 +d0 (0≤di ≤9, i=0,⋯,k−1, dk−1 &gt;0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。 输入格式: 每个输入包含 1 个测试用例,即一个不超过...

    2024-02-01 01:49:47
  • [ C++ ] STL _ Vector使用及其模拟实现

    [ C++ ] STL _ Vector使用及其模拟实现

    [ C++ ] STL _ Vector使用及其模拟实现

    2024-02-01 01:49:41
  • 移动端与pc端的区别

    第一: PC考虑的是浏览器的兼容性,而移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器使用的都是webkit内核,所以说做移动端开发,更多考虑的应该是手机...

    2024-02-01 01:49:33