“ f”在Python中的字符串之前是什么意思?

时间:2019-10-04 09:18:37

标签: python f-string

我是这里的新手,也是Python的新手。 我想知道f中的print(f'Column names are {"-".join(row)}')是做什么的 我尝试将其删除,然后“列名是{“-”。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.')

3 个答案:

答案 0 :(得分:0)

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

假设您有一个变量:

pi = 3.14

要将其分类为字符串,请执行以下操作:

s = "pi = " + str(pi)

格式化的字符串在这里派上用场。使用它们,您可以执行以下操作:

s = f"pi = {pi}"

{pi}只需替换为pi中的值

答案 1 :(得分:0)

这称为f字符串,非常简单:在字符串前面使用“ f”时,将读取大括号内的所有变量并将其替换为there值。例如:

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

会返回“您今年18岁”

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

答案 2 :(得分:0)

join方法返回一个字符串,其中的序列元素已由分隔符连接在一起。在您的代码中,它获取行列表并通过分隔符-进行连接。

然后使用f字符串将{}指定的表达式替换为其值。

假设row = ["1", "2", "3"],则输出为Column names are 1-2-3