python基础语法手册format-python基础_格式化输出(%用法和format用法)

python基础语法手册format-python基础_格式化输出(%用法和format用法)Python中应该使用%还是format来格式化字符串?Python新版本推荐使用format.Python2.6新加入的format语法支持.3.6加入了一个f-strings新特性1、区别Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢?自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是format这根本就不算个问题。1234#…

大家好,欢迎来到IT知识分享网。python基础语法手册format-python基础_格式化输出(%用法和format用法)

Python中应该使用%还是format来格式化字符串?

Python新版本推荐使用format.

Python2.6 新加入的format语法支持.

3.6加入了一个 f-strings新特性

1、区别

Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢?

自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是format这根本就不算个问题。

1

2

3

4

# 定义一个坐标值

c= (250,250)

# 使用%来格式化

s1= “敌人坐标:%s” % c

上面的代码很明显会抛出一个如下的TypeError:

TypeError: not all arguments converted during string formatting

像这类格式化的需求我们需要写成下面的格式才行:

1

2

3

4

# 定义一个坐标值

c= (250,250)

# 使用%丑陋的格式化…

s1= “敌人坐标:%s” % (c,)

而使用format就不会存在上面的问题:

1

2

3

4

# 定义一个坐标值

c= (250,250)

# 使用format格式化

s2= “敌人坐标:{}”.format(c)

很显然,format比%方便多了。

2、新特性

在Python3.6中加入了f-strings:

1

2

3

4

In[1]: name= “Q1mi”

In[2]: age= 18

In[3]: f”My name is {name}.I’m {age}”

Out[3]:”My name is Q1mi.I’m 18″

二、常用的format用法

1、通过位置

1

2

3

In[1]: data= [“Q1mi”,18]

In[2]:”Name:{0}, Age:{1}”.format(*data)

Out[2]:’Name:Q1mi, Age:18′

2、通过关键字

1

2

3

In[1]: data= {“name”:”Q1mi”,”age”:18}

In[2]:”Name:{name}, Age:{age}”.format(**data)

Out[2]:’Name:Q1mi, Age:18′

3、通过对象属性

1

2

3

4

5

6

7

8

9

10

In[1]:class Person(object):

…:def __init__(self, name, age):

…:self.name= name

…:self.age= age

…:def __str__(self):

…:return “This guy is {self.name}, {self.age} years old.”.format(self=self)

…:

In[2]: p= Person(“Q1mi”,18)

In[3]:str(p)

Out[3]:’This guy is Q1mi, 18 years old.’

4、通过下标

1

2

In[1]:”{0[0]} is {0[1]} years old.”.format(data)

Out[1]:’Q1mi is 18 years old.’

5、填充与对齐

填充常跟对齐一起使用

^、<、>分别是居中、左对齐、右对齐,后面带宽度

:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充。

1

2

3

4

5

6

In[1]:”{:>10}”.format(’18’)

Out[1]:’ 18′

In[2]:”{:0>10}”.format(’18’)

Out[2]:’0000000018′

In[3]:”{:A>10}”.format(’18’)

Out[3]: ‘AAAAAAAA18

补充一个字符串自带的zfill()方法:

Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0。

zfill()方法语法:str.zfill(width)

参数width指定字符串的长度。原字符串右对齐,前面填充0。

返回指定长度的字符串。

1

2

In[1]:”18″.zfill(10)

Out[1]:’0000000018′

6、精度与类型f

精度常跟类型f一起使用。

1

2

In[1]:”{:.2f}”.format(3.1415926)

Out[1]:’3.14′

其中.2表示长度为2的精度,f表示float类型。

7、其他进制

主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。

1

2

3

4

5

6

7

8

In[1]:”{:b}”.format(18)

Out[1]:’10010′

In[2]:”{:d}”.format(18)

Out[2]:’18’

In[3]:”{:o}”.format(18)

Out[3]:’22’

In[4]:”{:x}”.format(18)

Out[4]:’12’

8、千位分隔符

1

2

In[1]:”{:,}”.format(1234567890)

Out[1]:’1,234,567,890′

http://www.cnblogs.com/gaoya666/articles/8576814.html

http://www.runoob.com/python/att-string-format.html

https://www.cnblogs.com/fat39/p/7159881.html

https://blog.csdn.net/i_chaoren/article/details/77922939

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/22707.html

(0)
上一篇 2023-12-26 18:00
下一篇 2023-12-26 20:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信