'f' 在 Python 中的字符串前是什么意思?

What does 'f' mean before a string in Python?

我是新来的,也是 Python 的新手。 我想知道 print(f'Column names are {"-".join(row)}') 中的 f 是做什么的。 我试着删除它然后 Column names are {"-".join(row)} 变成正常的字符串。

能否请您告诉我 f 叫什么,以便我 google 了解更多信息? 谢谢大家。

import csv

with open('CSV_test.txt') as csv_file: 
    csv_reader = csv.reader(csv_file, delimiter=',')
    line_count = 0
    for row in csv_reader:
        if line_count == 0:
            print(f'Column names are {"-".join(row)}')
            line_count += 1
        else:
            print(f'\t{row[0]} works in the {row[1]} '
                  f'department, and was born in {row[2]}.')
            line_count += 1
    print(f'Processed {line_count} lines.')

以 f 开头的字符串是格式化字符串文字。

假设你有一个变量:

pi = 3.14

要将它连接到您需要执行的字符串:

s = "pi = " + str(pi)

格式化字符串在这里派上用场。使用它们你可以用这个做同样的事情:

s = f"pi = {pi}"

{pi} 简单地替换为 pi

中的值

这称为 f-strings 并且非常简单:当在字符串前面使用 "f" 时,大括号内的所有变量都会被读取并替换为那里的值。例如:

    age = 18
    message = f"You are {age} years old"
    print(message)

会return"You are 18 years old"

这类似于 str.format (https://docs.python.org/3/library/stdtypes.html#str.format),但更简洁。

join 方法 returns 一个字符串,其中序列的元素已由分隔符连接。在您的代码中,它需要行列表,然后按分隔符 -.

加入

然后通过使用 f-string,{} 指定的表达式将被替换为它的值。

假设 row = ["1", "2", "3"] 那么输出将是 Column names are 1-2-3