python中print(f)的用法
Python中的print函数是很常用的一个函数,可以用来输出信息。而print(f)是Python 3.6版本以后新增的一种格式化输出方式,也被称为f-string。本文将详细介绍print(f)的用法。
一、f-string是什么?
在Python 3.6版本中,新增加一个格式化字符串输出(f-string),即字符串前面加上字母f。使用f-string可以将变量值插入到字符串中,且表达式语法明显、直观。
二、f-string的基本用法
f-string的基本格式是:
f"string {expression} string"
其中,花括号内是表达式,表达式的值会被插入到字符串中。
下面是一个简单的例子:
name = "Tom" age = 20 print(f"His name is {name}, and he is {age} years old.") # 输出:His name is Tom, and he is 20 years old.
在上面的例子中,用花括号把变量括起来,然后在花括号前面加上字母f。这样,在字符串中用{}引用变量的时候,就会自动将变量解析出来。f-string的出现让字符串格式化变得更加方便、直观。
三、f-string的高级用法
1. 基本数据类型格式化
f-string对基本数据类型的格式化支持非常好,如int、float、str等,下面是一些例子:
# 对整数进行格式化 age = 20 print(f"He is {age:d} years old.")  # 输出:He is 20 years old.
# 对浮点数进行格式化 pi = 3.1415926 print(f"The value of pi is {pi:.3f}.") # 输出:The value of pi is 3.142.
# 对字符串进行格式化 name = "Tom" print(f"His name is {name}.") # 输出:His name is Tom.
在上面的例子中,对整数用了:d,对浮点数用了:.3f,对字符串直接插入即可。
2. 变量名格式化
有时候,我们需要在字符串中使用变量名,而不是变量的值,这时可以使用!r或!s。
比如下面这个例子:
name = "Tom" print(f"His name is {name!r}.")  # 输出:His name is 'Tom'.
在上面的例子中,变量name的值是Tom,但是使用了!r后,输出的是'Tom',即字符串类型的值。
3. 对齐方式格式化
f-string也支持指定字符串的对齐方式。主要有左对齐、右对齐、居中对齐三种方式。
比如下面这个例子:
name = "Tom" print(f"|{name:<10}|")  # 输出:|Tom      |
在上面的例子中,使用<可以指定左对齐,>可以指定右对齐,^可以指定居中对齐。
4. 表达式格式化
f-string支持在花括号中使用表达式,从而处理一些复杂的逻辑。
比如下面这个例子:
name = "Tom" age = 20 print(f"{'He' if age < 18 else 'She'} is {name}.") # 输出:She is Tom.
在上面的例子中,使用if语句实现了根据年龄性别的判断输出。
5. 类方法调用格式化
f-string也支持在花括号中调用对象的方法。
比如下面这个例子:
class Person:    def __init__(self, name, age):        self.name = name        self.age = age
    def __str__(self):        return f"{self.name} is {self.age} years old."
person = Person("Tom", 20) print(f"{person}") # 输出:Tom is 20 years old.
python格式化输出format在上面的例子中,调用了Person类的__str__方法,输出了"Tom is 20 years old."。
四、总结
本文介绍了Python中print(f)的用法。f-string是Python 3.6版本以后新增的一种格式化输出方式,可以将变量值插入到字符串中,表达式语法明显、直观。f-string对基本数据类型的格式化支持得非常好,同时还支持变量名格式化、对齐方式格式化、表达式格式化、类方法调用格式化等高级用法。