python学习笔记8:基础(字符串格式化)

参考:http://www.cnblogs.com/wupeiqi/articles/5484747.html

Python的字符串格式化有两种方式: 百分号方式、format方式

百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存。[PEP-3101]

This PEP proposes a new system for built-in string formatting operations, intended as a replacement for the existing ‘%‘ string formatting operator.

1、百分号方式

%[(name)][flags][width].[precision]typecode

  • (name)      可选,用于选择指定的key
  • flags          可选,可供选择的值有:
    • +       右对齐;正数前加正好,负数前加负号;
    • -        左对齐;正数前无符号,负数前加负号;
    • 空格    右对齐;正数前加空格,负数前加负号;
    • 0        右对齐;正数前无符号,负数前加负号;用0填充空白处
  • width         可选,占有宽度
  • .precision   可选,小数点后保留的位数
  • typecode    必选
    • s,获取传入对象的__str__方法的返回值,并将其格式化到指定位置
    • r,获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
    • c,整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置
    • o,将整数转换成 八  进制表示,并将其格式化到指定位置
    • x,将整数转换成十六进制表示,并将其格式化到指定位置
    • d,将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置
    • e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)
    • E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)
    • f, 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
    • F,同上
    • g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)
    • G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)
    • %,当字符串中存在格式化标志时,需要用 %%表示一个百分号

注:Python中百分号格式化是不存在自动将整数转换成二进制表示的方式

常用格式化:


1

2

3

4

5

6

7

8

9

10

11

tpl = "i am %s" % "alex"

tpl = "i am %s age %d" % ("alex"18)

tpl = "i am %(name)s age %(age)d" % {"name""alex""age"18}

tpl = "percent %.2f" % 99.97623

tpl = "i am %(pp).2f" % {"pp"123.425556, }

tpl = "i am %.2f %%" % {"pp"123.425556, }

2、Format方式

[[fill]align][sign][#][0][width][,][.precision][type]

  • fill           【可选】空白处填充的字符
  • align        【可选】对齐方式(需配合width使用)
    • <,内容左对齐
    • >,内容右对齐(默认)
    • =,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字
    • ^,内容居中
  • sign         【可选】有无符号数字
    • +,正号加正,负号加负;
    •  -,正号不变,负号加负;
    • 空格 ,正号空格,负号加负;
  • #            【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示
  • ,            【可选】为数字添加分隔符,如:1,000,000
  • width       【可选】格式化位所占宽度
  • .precision 【可选】小数位保留精度
  • type         【可选】格式化类型
    • 传入” 字符串类型 “的参数

      • s,格式化字符串类型数据
      • 空白,未指定类型,则默认是None,同s
    • 传入“ 整数类型 ”的参数
      • b,将10进制整数自动转换成2进制表示然后格式化
      • c,将10进制整数自动转换为其对应的unicode字符
      • d,十进制整数
      • o,将10进制整数自动转换成8进制表示然后格式化;
      • x,将10进制整数自动转换成16进制表示然后格式化(小写x)
      • X,将10进制整数自动转换成16进制表示然后格式化(大写X)
    • 传入“ 浮点型或小数类型 ”的参数
      • e, 转换为科学计数法(小写e)表示,然后格式化;
      • E, 转换为科学计数法(大写E)表示,然后格式化;
      • f , 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
      • F, 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
      • g, 自动在e和f中切换
      • G, 自动在E和F中切换
      • %,显示百分比(默认显示小数点后6位)

常用格式化:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

tpl = "i am {}, age {}, {}".format("seven"18‘alex‘)

 

tpl = "i am {}, age {}, {}".format(*["seven"18‘alex‘])

 

tpl = "i am {0}, age {1}, really {0}".format("seven"18)

 

tpl = "i am {0}, age {1}, really {0}".format(*["seven"18])

 

tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)

 

tpl = "i am {name}, age {age}, really {name}".format(**{"name""seven""age"18})

 

tpl = "i am {0[0]}, age {0[1]}, really {0[2]}".format([123], [112233])

 

tpl = "i am {:s}, age {:d}, money {:f}".format("seven"1888888.1)

 

tpl = "i am {:s}, age {:d}".format(*["seven"18])

 

tpl = "i am {name:s}, age {age:d}".format(name="seven", age=18)

 

tpl = "i am {name:s}, age {age:d}".format(**{"name""seven""age"18})

tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(151515151515.876232)

tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(151515151515.876232)

tpl = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15)

tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)

更多格式化操作:https://docs.python.org/3/library/string.html

时间: 2024-10-07 06:55:26

python学习笔记8:基础(字符串格式化)的相关文章

python学习笔记20(字符串格式化)

Python中内置有对字符串进行格式化的操作% 模板 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个tuple将多个值传递给模板,每个值对应一个格式符. 比如下面的例子: print "I'm %s. I'm %d year old" % ('Ethon', 99) 上面的例子中,"I'm %s. I'm %d year old" 为我们的模板.%s为第一个格式符,表示

python学习笔记四:字符串格式化

字符串格式化:%,左侧放字符串,右侧放希望被格式化的值,通常为元组 >>> format = "Hello, %s, %s enough for ya?" >>> values = ('world', 'Hot') >>> print format % values Hello, world, Hot enough for ya? 如果在格式化字符串里面包括百分号,那么必须使用%% 模板字符串:类似于shell中的变量替换 1) 

python学习笔记2:字符串

python学习笔记2:字符串 总结:字符串是不可变变量,不能通过下标修改其值 字符串的方法都不会改变字符串原来的值,而是新生成一个字符串 一.3种写法--单引号,双引号,三引号 二.下标和切片 下标:字符串里每个字符所在的位置,也叫索引.strname[n] ,表示strname这个字符串的下标为n对应的字符的值. 切片:取字符串一个下标区间的值. strname[n:m],表示strname这个字符串,下标n到m这个区间内的值,注意n:m取值,顾前不顾后. 三.字符串遍历 in 和not i

01-Python学习笔记-基础语法

Python标识符 -d           在解析时显示调试信息 -O           生成优化代码 ( .pyo 文件 ) -S           启动时不引入查找Python路径的位置 -v            输出Python版本号 -X           从 1.6版本之后基于内建的异常(仅仅用于字符串)已过时. -c cmd     执行 Python 脚本,并将运行结果作为 cmd 字符串. file           在给定的python文件执行python脚本. P

Python学习笔记-Day1-Python基础

1.python诞生 关于Python的起源,吉多·范罗苏姆在1996年写到: 六 年前,在1989年12月,我在寻找一门"课余"编程项目来打发圣诞节前后的时间.我的办公室会关门,但我有一台家用电脑,而且没有太多其它东西.我决定 为当时我正构思的一个新的脚本语言写一个解释器,它是ABC语言的后代,对UNIX / C程序员会有吸引力.作为一个略微有些无关想法的人,和一个蒙提·派森的飞行马戏团的狂热爱好者,我选择了Python作为项目的标题 吉多·范罗苏姆GITHUB:https://gi

Python学习笔记整理四--字符串类型

定义:元素以引号包围的.元素可以是任意类型的有序的不可修改的序列: 定义字符串: str()  如:a = str(1234) ''     如:a = 'nihao' ""    如:a = "nihao" ''' ''', """ """ 如:a = '''nihao''', a = """nihao""" 注意: 当需要用到缩写如I'm时,就

python学习(4)--字符串格式化之format()方法

一.格式化字符串的函数 str.format()增强了字符串格式化的功能.通过 {} 和 : 来代替以前的 % . 其中format 函数可以接受不限个参数,位置可以不按顺序. str = "{date}.{filename}.{func_name}.{msg}".format( date = "2018-10-07", # 时间 filename = "test_farmat", # 文件名 msg = "content"

Python学习笔记-Day2-Python基础之字符串操作22222222222222222222222222222222

字符串的常用操作包括但不限于以下操作: 字符串的替换.删除.截取.复制.连接.比较.查找.分割等 这里将对字符串的内置操作方法进行总结归纳,重点是以示例的方式进行展示. 使用type获取创建对象的类 type(name) 使用dir获取类的成员dir(name) 使用vars获取类的成员和各个成员的值   1.    str.capitalize    返回首字母大写,其他字母小写的字符串   2.    str.casefold    字符串转换成小写,用于不区分大小写的字符串比较   3. 

Python学习笔记5(字符串与正则表达式)

1.字符串 1.1字符串的格式化 #格式化语法 "%s" % str1 "%s %s" % (str1,str2) #格式化字符串 str1 = "version" num = 1.0 format = "%s" % str1 print (format) format = "%s %d" %(str1, num) print (format) #使用字典格式化字符串 print ("%(vers

python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sys.argv) #打印相对路径,在pycharm输出结果是绝对路径,因为在pycharm中调用 print(sys.argv[2]) #可以从数据列表中取值,[2]指取第三位.        标准库存放位置:C:\Python35\Lib 第三方库存放位置C:\Python35\Lib\site-p