Soy nuevo aquí y también nuevo en Python. Me pregunto qué hace f en print(f'Column names are {"-".join(row)}') Intenté eliminarlo y luego 'Los nombres de columna son {"-". Join (row)}' se convierten en una cadena normal

¿Podría decirme cómo se llama f para que pueda buscar en Google para obtener más información al respecto? Gracias chicos.

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.')
0
KradasA4 4 oct. 2019 a las 12:18

3 respuestas

La mejor respuesta

El método join devuelve una cadena en la que los elementos de secuencia han sido unidos por un separador. En su código, toma la lista de filas y se une luego por el separador -.

Luego, usando f-string, la expresión especificada por {} será reemplazada por su valor.

Supongamos que row = ["1", "2", "3"] entonces la salida será Column names are 1-2-3.

0
BlueSheepToken 4 oct. 2019 a las 09:49

Esto se llama cadenas f y es bastante sencillo: cuando se usa una "f" delante de una cadena, todas las variables dentro de las llaves se leen y se reemplazan por su valor. Por ejemplo :

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

Volveremos "Tienes 18 años"

Esto es similar a str.format (https: //docs.python. org / 3 / library / stdtypes.html # str.format) pero de una manera más concisa.

0
Rowin 4 oct. 2019 a las 09:28

Las cadenas que comienzan con f son cadenas literales formateadas.

Supongamos que tiene una variable:

pi = 3.14

Para catearlo en una cadena que harías:

s = "pi = " + str(pi)

Las cadenas formateadas son útiles aquí. Utilizándolos puedes usar esto para hacer lo mismo:

s = f"pi = {pi}"

{pi} simplemente se reemplaza por el valor en pi

0
Abhijeet Soni 4 oct. 2019 a las 09:26
58233423