当前位置: 首页 > news >正文

网站开发中的paml/查网站流量查询工具

网站开发中的paml,查网站流量查询工具,怎么制作一个游戏app,无锡百姓网免费发布信息网Python的字符串格式化有两种方式:%格式符方式,format方式。下面进行一一讲解。 1 %格式符方式 %[(name)][flags][width].[precision]typecode (name) 可选,用于选择指定的keyflags    可选,可供选择的值有: …

Python的字符串格式化有两种方式:%格式符方式,format方式。下面进行一一讲解。

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,将整数转换成十六进制表示,并将其格式化到指定位置(小写)
    • X,将整数转换成十六进制表示,并将其格式化到指定位置(大写)
    • d,将整数、浮点数转换成十进制表示,并将其格式化到指定位置
    • e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)
    • E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)
    • f, 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
    • F,同上
    • g,自动调整将整数、浮点数转换成浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)
    • G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)
    • %,当字符串中存在格式化标志时,需要用 %%表示一个百分号

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

1.1 name

(name) 可选,用于选择指定的key
例子:

a = "%(name)s:%(age)d"%{'name':'Tom','age':20}
print(a)

执行结果:

Tom:20

1.2 width

width 可选,用于选择指定字段的宽度
“宽度”是一个十进制整数,用于定义字段宽度。如果未指定,则字段宽度将由内容确定。

s = "y=%d" % 5     #此时字段宽度与要填充的数据大小相同
print(s)

执行结果:

y=5                

请注意,除非定义了字段宽度,否则字段宽度将始终与要填充的数据大小相同,因此在这种情况下,对齐选项没有任何意义。
对于整数,指定左对齐时,在右边补 0 是没有效果的,因为这样会改变整数的值。
对于字符串,只能使用-标志,因为符号对于字符串没有意义,而补 0 会改变字符串的值。
此时必须给定宽度。

1.3 flag

  • + 右对齐;正数前加正号,负数前加负号;
    意思是,在给定宽度内右对齐,并且显示正数的正号和负数的负号。
  • - 左对齐;正数前无符号,负数前加负号;
    意思是,在给定宽度内左对齐,不显示正数的正号,显示负数的负号。
  • 空格 右对齐;正数前加空格,负数前加负号;
    意思是,在给定宽度内右对齐,正数前为空格,不显示正数的正号,显示负数的负号
  • 0 右对齐;正数前无符号,负数前加负号;用0填充空白处
    意思是,在给定宽度内右对齐,不显示正数的正好,空位用0填充,显示负数的负号,空位用0填充
  • # 与空格的用法和功能一样

注意事项:

  1. 可选的“填充”字符定义了用于将字段填充到最小宽度的字符。填充字符(如果存在)必须后跟一个对齐标志。
    'flag’选项仅对数字类型有效。
  2. 对于小数,以上三个标志可以同时存在。
  3. 对于字符串,只能使用-标志,因为符号对于字符串没有意义,而补 0 会改变字符串的值。

例子:

"""
+ 右对齐;正数前加正号,负数前加负号;
"""s = "我是正数:%5d" % 20
print(s)                         # 默认右对齐,不显示正数的正号s = "我是正数:%5d" % -20
print(s)                         # 默认右对齐,显示负数的负号s = "我是正数:%+5d" % 20        # 右对齐,显示正数的正号
print(s)s = "我是负数:%+5d" % -20       # 右对齐,显示负数的负号
print(s)"""
- 左对齐;正数前无符号,负数前加负号;
"""s = "我是正数:%-5d" % 20       # 左对齐,正数前无符号(不显示正数的正号)
print(s)s = "我是负数:%-5d" % -20      # 左对齐,显示负数的负号
print(s)"""
空格 右对齐;正数前加空格,负数前加负号;
"""s = "我是正数:% 5d" % 20       # 右对齐,正数前为空格
print(s)s = "我是负数:% 5d" % -20      # 右对齐,显示负数的负号
print(s)"""
0 右对齐;正数前无符号,负数前加负号;用0填充空白处
"""s = "我是正数:%05d" % 20       # 右对齐,正数前无符号,用0填充空白处
print(s)s = "我是负数:%05d" % -20      # 右对齐,显示负数的负号,用0填充空白处
print(s)"""
# 右对齐;正数前加空格,负数前加负号;
"""s = "我是正数:%#5d" % 20        # 右对齐,正数前无符号
print(s)s = "我是负数:%#5d" % -20        # 右对齐,显示负数的负号
print(s)

执行结果:

我是正数:   20
我是正数:  -20
我是正数:  +20
我是负数:  -20
我是正数:20   
我是负数:-20  
我是正数:   20
我是负数:  -20
我是正数:00020
我是负数:-0020
我是正数:   20
我是负数:  -20

1.4 .precision

.precision 可选,小数点后保留的位数
例子:

d1 = '%(p)f'%{'p':3.141592653589793}      # 默认保留六位小数
d2 = '%(p).f'%{'p':3.141592653589793}     # 默认保留零位小数
d3 = '%(p).1f'%{'p':3.141592653589793}     # 默认保留一位小数
d4 = '%(p).2f'%{'p':3.141592653589793}     # 默认保留二位小数print(d1)
print(d2)
print(d3)
print(d4)

执行结果:

3.141593
3
3.1
3.14

1.5 typecode

typecode 必选
例子:

s1 = "我是字符串:%8s" % 'asfd'       
print(s1)
s2 = "我是字符串:%8r" % 'asfd'       
print(s2)
s3 = "我是unicode:%8c" % 20013       
print(s3)
s4 = "我是字符串:%8c" % 'a'          
print(s4)
s5 = "我是八进制:%8o" % 100           
print(s5)
s6 = "我是十六进制:%8x" % 100           
print(s6)
s7 = "我是十六进制:%8X" % 100           
print(s7)
s8 = "我是十进制:%8d" % 100          
print(s8)
s9 = "我是科学计数法:%14e" % 0.0000001     
print(s9)
s10 = "我是科学计数法:%14E" % 0.0000001       
print(s10)
s11 = "我是浮点数:%10f" % 5      
print(s11)
s12 = "我是浮点数:%10F" % 5        
print(s12)
s13 = "我是科学计数法:%10g" % 1000000 
print(s13)
s14 = "我是科学计数法:%10G" % 1000000  
print(s14)
s15 = "及格率=%d%%" % 80  
print(s15)

执行结果:

我是字符串:    asfd
我是字符串:  'asfd'
我是unicode:       中
我是字符串:       a
我是八进制:     144
我是十六进制:      64
我是十六进制:      64
我是十进制:     100
我是科学计数法:  1.000000e-07
我是科学计数法:  1.000000E-07
我是浮点数:  5.000000
我是浮点数:  5.000000
我是科学计数法:     1e+06
我是科学计数法:     1E+06
及格率=80%

str和repr的区别

2 format方式

数字格式的定义以 ‘:’ 号开始。碰到了’: '字符就知道要定义一个数字的显示格式了。格式的定义顺序为
[[fill]align][sign][#][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位)

2.1 fill、align、width

fill 【可选】空白处填充的字符
align 【可选】对齐方式(需配合width使用)

  • <,内容左对齐
  • >,内容右对齐(默认)
  • =,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字
  • ^,内容居中

width 【可选】格式化位所占宽度
例子:

s1 ='---{:*^20s}----'.format('welcome')  # : 后面开始为format格式化的格式,*为填充字符,^居中,20宽度,s字符串
print(s1)
s2 ='---{:*>20s}----'.format('welcome')  # : 后面开始为format格式化的格式,*为填充字符,>右对齐,20宽度,s字符串
print(s2)
s3 ='---{:*<20s}----'.format('welcome')  # : 后面开始为format格式化的格式,*为填充字符,<左对齐,20宽度,s字符串
print(s3)

执行结果:

---******welcome*******----
---*************welcome----
---welcome*************----

2.2 sign

sign 【可选】有无符号数字

  • +,正号加正,负号加负;
  • -,正号不变,负号加负;
  • 空格 ,正号空格,负号加负;

例子:

a1 = "我是正数:{:+5d}".format(15)     # 正号加正
print(a1)
a2 = "我是负数:{:+5d}".format(-15)    # 负号加负
print(a2)
a3 = "我是正数:{:-5d}".format(15)     # 正号无符号
print(a3)
a4 = "我是负数:{:-5d}".format(-15)    # 负号加负
print(a4)
a5 = "我是正数:{: 5d}".format(15)     # 正号无符号
print(a5)
a6 = "我是负数:{: 5d}".format(-15)    # 负号加负
print(a6)

执行结果:

我是正数:  +15
我是负数:  -15
我是正数:   15
我是负数:  -15
我是正数:   15
我是负数:  -15

2.3 ,

, 【可选】为数字添加分隔符,如:1,000,000
例子:

a="我是正数:{:14,d}".format(100000000) 
print(a)

执行结果:

我是正数:   100,000,000

2.4 .precision

.precision 【可选】小数位保留精度
例子:

a1='我是圆周率{:.5f}'.format(3.141592653589793)
print(a1)

执行结果:

我是圆周率3.14159

2.5 #、type

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

【访问的方式】
例子:

# 按位置访问参数:
s5='{0}, {1}, {2}'.format('a', 'b', 'c')
s6='{}, {}, {}'.format('a', 'b', 'c')
s7='{2}, {1}, {0}'.format('a', 'b', 'c')
s8='{2}, {1}, {0}'.format(*'abc')        # unpacking argument sequence
s9='{0}{1}{0}'.format('abra', 'cad')     # arguments' indices can be repeated
print(s5)
print(s6)
print(s7)
print(s8)
print(s9)
# 按名称访问参数:
s10='Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W')
print(s10)
coord  = {'latitude': '37.24N', 'longitude': '-115.81W'}
s11='Coordinates: {latitude}, {longitude}'.format(**coord )
print(s11)
# 访问参数项:
coord = (3, 5)
s12='X: {0[0]};  Y: {0[1]}'.format(coord)
print(s12)
# 代替 %s and %r:
s13="repr() shows quotes: {!r}; str() doesn't: {!s}".format('test1', 'test2')
print(s13)

执行结果:

a, b, c
a, b, c
c, b, a
c, b, a
abracadabra
Coordinates: 37.24N, -115.81W
Coordinates: 37.24N, -115.81W
X: 3;  Y: 5
repr() shows quotes: 'test1'; str() doesn't: test2

注意:
!符号,这个只在fromat中有用,详情请浏览:https://blog.csdn.net/a19990412/article/details/80149112
【不同的type】
例子:

s1 ='---{:*^20s}----'.format('welcome')
print(s1)              # 传入“字符串类型”的参数
s2 = "numbers: {:b},{:o},{:d},{:x},{:X},{:n},{:},{:c}".format(15, 15, 15, 15, 15, 15, 15, 65)
s3 = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X},{0:n},{0:},{1:c}".format(15,65)
s4 = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X},{num:n},{num:},{cc:c}".format(num=15,cc=65)
s5 = "numbers: {:e},{:E},{:f},{:F},{:g},{:G},{:n},{:},{:.2%}".format(0.0000001, 0.0000001, 15, 15, 1000000, 1000000, 15, 15, 0.85)
s6 = "numbers: {0:e},{0:E},{1:f},{1:F},{2:g},{2:G},{1:n},{1:},{3:.2%}".format(0.0000001, 15, 1000000, 0.85)
print(s2)
print(s3)
print(s4)
print(s5)
print(s6)

执行结果;

---******welcome*******----
numbers: 1111,17,15,f,F,15,15,A
numbers: 1111,17,15,f,F,15,15,A
numbers: 1111,17,15,f,F,15,15,A
numbers: 1.000000e-07,1.000000E-07,15.000000,15.000000,1e+06,1E+06,15,15,85.00%
numbers: 1.000000e-07,1.000000E-07,15.000000,15.000000,1e+06,1E+06,15,15,85.00%

【type-n:随着参数的类型改变】
例子:

a1 = "{:n}".format(15)
print(a1)
a2 = "{:n}".format(0.00000015)
print(a2)

执行结果:

15
1.5e-07

【type-空白:随着参数的类型改变】
例子:

b1 = "{:}".format('b')
print(b1)
b2 = "{:}".format(15)
print(b2)
b3 = "{:}".format(0.00000015)
print(b3)

执行结果:

b
15
1.5e-07

 
 
        本文来自许多优秀博文的总结,如果感觉本文对您有用,欢迎点赞收藏加关注,方便日后翻阅。如若本文存在错误,同样也欢迎各位路过的大佬批评指正!

推荐阅读:
【Python基础】07.Python基本数据类型之字符串(1)
【Python基础】06.序列
【Python基础】关于字符编码(ASCII,GB2312,Unicode,UTF-8,UTF-16,UTF-32),有这一篇就够了!
【Python基础】05.Python基本数据类型之数字
【Python基础】04.运算符(超详细)
【Python基础】03.基本概念(表达式、语句等)以及标识符和关键字
【Python基础】02.Python环境搭建以及PyCharm的安装和配置
【Python基础】01.Python简介
  计算机与编程基础知识

参考链接:
[1]:https://www.cnblogs.com/songdanlee/p/11105807.html
[2]:https://docs.python.org/2.7/library/stdtypes.html?highlight=format#string-formatting
[3]:https://docs.python.org/3/library/string.html#formatstrings

 
 

未完待续…

http://www.jmfq.cn/news/4911841.html

相关文章:

  • 宿州网站建设/徐州百度搜索网站排名
  • 直聘最新招聘信息/无排名优化
  • 那个网站上有做婚礼布场样图的/发新闻稿平台
  • 建设英文网站的公司/富阳seo关键词优化
  • 唯品会一家专门做特卖的网站/数字营销网站
  • 增城网站建设价格/南宁网站seo
  • 深圳做网站新科/百度刷seo关键词排名
  • 05网站/今日头条新闻头条
  • 网站内容授权书/买友情链接有用吗
  • 深圳福田区住房和建设局网站官网/国际新闻界官网
  • 做视频网站要用到的服务器/全网万能搜索引擎
  • 网站不想被收录/朝阳seo排名优化培训
  • 用个人电脑做网站服务器/用广州seo推广获精准访问量
  • 企业网站建设版本/网络营销推广实战宝典
  • 国外有哪些做deal的网站/如何联系百度客服
  • 网站开发功能清单/网络平台
  • 学做ppt的网站 免费下载/网络营销工具包括
  • 网站专题策划页面怎么做/今天国内最新消息
  • 装修设计方案/重庆优化seo
  • 课程网站开发卷宗/百度资源站长平台
  • 怎么做才能提升网站收录/网站测试
  • 网站内容侵权 怎么做/sem竞价代运营
  • 官方网站建设哪家公司好/国际新闻 军事
  • wordpress阿里云oss/seo服务运用什么技术
  • 网站能不能自己做/网站推广找哪家公司好
  • 云服务器2008做网站/营销推广工作内容
  • psd简单的网站首页/推广模式包括哪些模式
  • 武夷山网站推广/网站搜索引擎优化情况怎么写
  • 云空间搭建网站/南安网站建设
  • 做动效的网站/空间刷赞网站推广