欢迎访问宙启技术站
智能推送

Pythonformat()函数:优雅地格式化字符串输出

发布时间:2023-06-23 17:41:53

Python是一种高级编程语言,兼具简单、易学、易读等优点,而Pythonformat()函数则是Python语言中一种优雅地格式化字符串输出的方法。通过Pythonformat()函数,我们可以将各种数据类型转换成字符串,并且格式化输出。本文将详细介绍Pythonformat()函数的基本用法和常用格式化输出方式。

一、Pythonformat()函数基本用法

Pythonformat()函数的基本语法如下:

str.format(args)

其中,str表示需要格式化的字符串,args表示需要格式化的数据。以简单的例子来说明:

>>> name = "Tom"
>>> age = 18
>>> print("{} is {} years old.".format(name, age))
Tom is 18 years old.

上述例子中,使用{}作为占位符,其中 个{}表示需要输出的name变量,第二个{}表示需要输出的age变量。格式化字符串的方式通常使用一组{}对应一个需要格式化输出的变量。

除此之外,也可以把需要输出的变量放在{}内部,还可以使用%作为占位符:

>>> print("{0} is {1} years old.".format(name, age))
Tom is 18 years old.
>>> print("{name} is {age} years old.".format(name=name, age=age))
Tom is 18 years old.
>>> print("%s is %d years old." % (name, age))
Tom is 18 years old.

上述三种方式都可以达到相同的格式化输出效果,使用哪一种方式主要看个人习惯和实际需要。

二、Pythonformat()函数高级用法

在Pythonformat()函数中,除了使用{}作为占位符进行格式化输出之外,还可以使用其他占位符和格式化符号。下面列举常用的其它占位符和格式化符号用法。

1.字符串占位符

| 格式化符号 | 功能 |

| --- | --- |

| %s | 字符串(采用str()的显示) |

| %r | 字符串(采用repr()的显示) |

| %a | 字符串(采用ascii()的显示) |

>>> print("My name is %s. I am %d years old." % ("Tom", 18))
My name is Tom. I am 18 years old.
>>> print("My name is %r. I am %r years old." % ("Tom", 18))
My name is 'Tom'. I am 18 years old.
>>> print("My name is %a. I am %a years old." % ("Tom", 18))
My name is 'Tom'. I am 18 years old.

2.数字占位符

| 格式化符号 | 功能 |

| --- | --- |

| %d | 带符号的十进制整数 |

| %i | 带符号的十进制 |

| %o | 不带符号的八进制 |

| %x | 不带符号的十六进制(小写) |

| %X | 不带符号的十六进制(大写) |

| %e | 科学计数法(小写) |

| %E | 科学计数法(大写) |

| %f | 浮点数 |

| %F | 浮点数 |

| %g | %e或%f的较短版本(小写) |

| %G | %E或%F的较短版本(大写) |

>>> print("Today is the %dth day of the year." % 200)
Today is the 200th day of the year.
>>> print("π is approximately %f." % 3.1415926)
π is approximately 3.141593.
>>> print('%.2f' % 3.1415926)
3.14

3.位占位符

| 格式化符号 | 功能 |

| --- | --- |

| %c | 单字符 |

| %s | 字符串 |

| %d | 十进制整数 |

| %o | 八进制整数 |

| %x | 十六进制整数 |

| %e | 科学技术法 |

>>> print("The first letter of my name is %c." % "Tom")
The first letter of my name is T.

4.宽度、精度控制

| 格式化符号 | 功能 |

| --- | --- |

| m.n | m表示最小总宽度,n表示小数点后位数。 |

>>> print("{:>15}".format("hello"))
          hello
>>> print("{:<15}".format("hello"))
hello          
>>> print("{:^15}".format("hello"))
     hello     
>>> print("{:.2f}".format(100 / 3))
33.33
>>> print("{:0>5d}".format(3))
00003

5.使用字典

>>> dic = {"name": "Tom", "age": 18, "gender": "male"}
>>> print("My name is {name}, I am {age} years old. I am a {gender}.".format(**dic))
My name is Tom, I am 18 years old. I am a male.

通过**将字典作为关键字参数传入.format()函数,可以快速地将字典中的值格式化输出。

以上就是Pythonformat()函数的基本用法和常用格式化输出方式,通过使用Pythonformat()函数,我们可以更加优雅地格式化字符串输出,并且可以轻松地掌握各种格式化输出方式。