f-string significa string formateada. Surgió con la versión 3.6 de Python y se usó rápidamente para formatear fácilmente las strings. F-string es un literal de string cuya sintaxis comienza con f y sigue con {}. Ese marcador de posición utilizado para contener la variable, que se cambiará según los nombres de las variables y sus valores, respectivamente.
Ya hay formatos de strings disponibles como %-formatting , str.format()
o string.Template()
. La principal desventaja de usar estos existentes es que no es fácil ejecutar la implementación, por lo que Python agregó f-string debido a su facilidad de implementación con una sintaxis mínima.
Considere esto, por ejemplo, para las 3 variantes:
1. Uso del formato %
name = 'nightfury1' print('%s is GeeksforGeeks a contributor' % (name))
Producción :
nightfury1 is GeeksforGeeks a contributor.
2. Usando str.format()
name = 'nightfury1' print('{} is GeeksforGeeks a contributor.'.format(name))
Producción :
nightfury1 is GeeksforGeeks a contributor.
3. Usando f-string
name = 'nightfury1' print(f'{name} is GeeksforGeeks a contributor.')
Producción :
nightfury1 is GeeksforGeeks a contributor.
Enfoques usando f-string :
1. Expresiones de string f: evalúa la string dentro de {} y devuelve el valor.
name = 'nightfury1' post = 'Technical Content Writer Intern.' print(f'{name} is GeeksforGeeks {post}')
Producción :
nightfury1 is Geeksforgeeks Technical Content Writer Intern
2. Diccionarios f-string: Dado que el diccionario contiene la propiedad clave-valor. Por lo tanto, f-string usa las propiedades de un diccionario para el formato de strings.
GfG = {'name' : 'nightfury1', 'post' : 'Technical Content Writer Intern'} print(f'{GfG["name"]} is GeeksforGeeks {GfG["post"]}.')
Producción:
nightfury1 is Geeksforgeeks Technical Content Writer Intern.
3. depuración de f-string: la depuración del valor dentro de la expresión dada evalúa la salida.
import math x = 0.5 print(f'math.cos({x}) = {math.cos(x)}') print(f'math.sin({x}) = {math.sin(x)}')
Producción :
math.cos(0.5) = 0.8775825618903728 math.sin(0.5) = 0.479425538604203
4. f-string multiline: Las f-strings se colocan entre corchetes para que las evalúe, cada una de las strings está precedida por el carácter f y devuelve el resultado en varias líneas.
name = 'nightfury1' org = 'GeeksforGeeks' post = 'Technical Content Writer Intern' gfg = (f'Name : {name}\n' f'Organization : {org}\n' f'Post : {post}.') print(gfg)
Producción :
Name : nightfury1 Organization : GeeksforGeeks Post : Technical Content Writer Intern.
Relleno y relleno usando f-string:
Podemos ingresar y especificar el formato con dígitos después del decimal o cierto número dado o DateTime, esto se llama relleno de string f.
1. 0-padding: Aquí, aplicamos 0-padding agregando {variable : 0N}
dentro de la sintaxis f-string {}, donde N se refiere al número total. de dígitos
for i in range(1, 5): print(f'The number is {i:02}')
Producción :
The number is 01 The number is 02 The number is 03 The number is 04
2. relleno de fecha: aquí, también formateamos las fechas usando el módulo DateTime y agregando el formato deseado en {} como {date : directive}
.
import datetime now = datetime.datetime.now() print(f'Current Time : {now : %Y-%m-%d %H:%M}')
Producción:
Current Time : 2020-08-02 19:34
3. relleno de espacio: Aquí, aplicamos espacios a una string como {variable : N}
donde N es la longitud total. Entonces, si la variable dada es ‘a’ y N es 4, agregará espacios adicionales antes de la variable dada.
for i in range(1, 5): print(f'The number is {i : 4}')
Producción:
The number is 1 The number is 2 The number is 3 The number is 4
4. allow-padding: Como sabemos, por defecto las strings se justifican a la izquierda. Pero con la ayuda de f-strings, podemos justificarlas usando {variable : >N}
donde N es la longitud total.
s1 = 'Geeksforgeeks' s2 = 'ksforgeeks' s3 = 'forgeeks' s4 = 'geeks' print(f'{s1 : >13}') print(f'{s2 : >13}') print(f'{s3 : >13}') print(f'{s4 : >13}')
Producción :
Geeksforgeeks ksforgeeks forgeeks geeks
Podemos ingresar y especificar el formato con dígitos o símbolos antes y después de la string dada, esto se llama relleno de string f.
1. Codificado – Relleno: aquí agregamos el símbolo o relleno como codificado en sintaxis de string f.
# left filling print(f'{"geeks" :*>15}') # right filling print(f'{"geeks" :*<15}')
Producción:
**********geeks geeks**********
2. variable – relleno: Aquí usamos f-string relleno expresión de llaves dentro de la función print().
width = 15 filler = '*' for i in range(6, width): print(f'{"geeks" :{filler}<{i}}')
Producción:
geeks* geeks** geeks*** geeks**** geeks***** geeks****** geeks******* geeks******** geeks*********
Ventajas de las cuerdas f:
- Es el método de formateo de strings más rápido en Python.
- Es más legible.
- Es de naturaleza concisa.
- Es menos propenso a errores, lo que significa que hay menos posibilidades de error al formatear las strings.
- Es menos detallado, es decir, contiene menos sintaxis en el formato.
Publicación traducida automáticamente
Artículo escrito por night_fury1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA