Что означает «f» перед строкой в ​​Python? - PullRequest
0 голосов
/ 04 октября 2019

Я новичок здесь, а также новичок в 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 голосов
/ 04 октября 2019

Это называется f-строкой и является довольно простым: при использовании «f» перед строкой все переменные в фигурных скобках читаются и заменяются их значениями. Например:

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

Возвращает "Вам 18 лет"

Это похоже на str.format (https://docs.python.org/3/library/stdtypes.html#str.format), но в более краткой форме.

0 голосов
/ 04 октября 2019

join метод возвращает строку, в которой элементы последовательности были объединены разделителем. В вашем коде он принимает список строк и соединяется затем разделителем -.

Затем, используя f-строку, выражение, заданное {}, будет заменено его значением.

Предположим,что row = ["1", "2", "3"] тогда вывод будет Column names are 1-2-3.

0 голосов
/ 04 октября 2019

Строка, начинающаяся с f, является отформатированной строкой.

s = "pi = " + str(pi)

Здесь пригодятся отформатированные строки. Используя их, вы можете использовать то же самое:

s = f"pi = {pi}"

{pi} просто заменяется значением в pi

...