Rellene o rellene una string con una variable en Python usando f-string

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:

  1. Es el método de formateo de strings más rápido en Python.
  2. Es más legible.
  3. Es de naturaleza concisa.
  4. Es menos propenso a errores, lo que significa que hay menos posibilidades de error al formatear las strings.
  5. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *