Python format()函数

Python 内置的format()函数是一种字符串格式化输出的方法,可以将变量插入到字符串中,并控制输出的格式。

format()函数语法

其一般语法如下:

formatted_string = format(value, format_spec)

其中:

  • value是要格式化输出的值;可以是任意类型的数据,例如整数、浮点数、字符串、元组等。
  • format_spec是一个包含格式指令的字符串,用于指定输出的格式;例如:
  • 格式规格
    类型 意义
    's' 字符串格式。这是字符串的默认类型,可以省略。
    'b' 字符。在打印之前将整数转换为相应的 unicode 字符。
    'd' 十进制整数。输出以 10 为基数的数字。
    'o' 八进制格式。输出以 8 为基数的数字。
    'x' 十六进制格式。输出以 16 为基数的数字,使用小写字母表示 9 以上的数码。
    'X' 十六进制格式。输出以 16 为基数的数字,使用大写字母表示 9 以上的数码。
    'n' 数字。这与 'd' 相似,不同之处在于它会使用当前区域设置来插入适当的数字分 隔字符。
    'e' 指数表示。以使用字母’e’ 来标示指数的科学计数法打印数字。默认的精度为 6。
    'E' 指数表示。与 'e' 相似,不同之处在于它使用大写字母’E’ 作为分隔字符。
    'f' 定点表示。将数字显示为一个定点数。默认的精确度为 6。
    'F' 定点表示。与 'f' 相似,但会将 nan 转为 NAN 并将 inf 转为 INF。

format()函数示例

a = 123
b = 65
c = 88
print(format(a,'b')) #二进制格式
print(format(b,'c')) #转换成字符
print(format(c,'010d')) #带前导零的十进制整数,宽度为10,
print(format(a,'x')) #小写字母表示十六禁止格式
print(format(a,'X')) #大写字母表示十六进制格式
print(format(b,'e')) #指数表示,默认精度为6

f-string

f-string中,使用大括号{}表示占位符,可以直接在其中嵌入变量,并通过冒号:指定格式指令。例如:

name = "小明"
age = 18
formatted_str = f"我是{name},我今年{age:03d}岁了。"
print(formatted_str)  # 输出 "我是小明,我今年018岁了。"

在上面的例子中,{age:03d}指定了将age输出为一个宽度为3的带前导零的十进制整数。

__format__()方法

调用format(value, format_spec)会被转换成type(value).__format__(value,format_spec):


class test:
    def __init__(self):
        self.number = 10

    def __format__(self,format_spec):

        if format_spec == 'x':
            return str(hex(self.number))

        return str(self.number)

a = test()
print(format(a,'x'))
print(type(a).__format__(a,'x'))

运行结果:

0xa
0xa

如对象未正确定义__format__()方法,或__format__()方法没有返回字符串类型,调用format()函数都将触发TypeError

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/python-built-in-functions/python-format.html

分类: 计算机技术
推荐阅读:
Rust module_path宏的用法和示例 在 Rust 语言中,module_path宏用于获取当前代码所在模块的路径。它返回一个&static str类型的字符串切片,表示当前代码所在的模块路径;这个路径是在编译时确定的。
PyQt:使用QVBoxLayout实现垂直布局 所谓的布局,你可以理解为窗口上控件(部件)的排版方式;使用 Layout 进行布局,窗口上的部件能随窗口大小的变化而变化;在本文中,你将掌握在Python中使用 QVBoxLayout 来进行垂直布局;
Python暴力破解MD5加密字符串 首先,MD5是不可逆的消息摘要算法,也就是说,不能根据MD5值逆向解密出原信息;但是,MD5通常被用于对密码进行处理,而密码长度是有限的,我们只需要配对出这些组合的MD5值,就可以实现所谓的解密,这种方法也叫暴力破解;
Python实现斐波那契数列(使用通项公式) 本文将使用Python编写程序,根据斐波那契数列的通项公式得出第n项的值;
PySide6 动态创建按钮数组 动态创建按钮数组在许多场合非常有用,特别是当你需要根据用户输入、数据量或其它条件来生成界面元素时;本片将演示如何使用PySide6来动态的创建按钮数组,并正确响应对应按钮的点击信号;
Python中@property和@*.setter装饰器的详细用法 @property装饰器的作用是,将一个函数装饰成为类的一个属性,当某个属性需要动态的计算时,用@property来装饰函数最好不过了;