una - tipos de variables en python
¿Cómo pongo una variable dentro de una cadena en Python? (6)
Con la introducción de literales de cadena formateados ("f-strings" para abreviar) en Python 3.6, ahora es posible escribir esto con una sintaxis más breve:
>>> name = "Fred"
>>> f"He said his name is {name}."
''He said his name is Fred.''
Con el ejemplo dado en la pregunta, se vería así
plot.savefig(f''hanning{num}.pdf'')
Me gustaría poner un int
en una string
. Esto es lo que estoy haciendo en este momento:
end = smooth(data,window_len=40)
plot.plot(time[0:len(end)],end)
plot.savefig(''hanning(40).pdf'') #problem line
Tengo que ejecutar el programa para varios números diferentes en lugar de los dos años 40. Entonces me gustaría hacer un ciclo, pero insertar la variable de esta manera no funciona:
plot.savefig(''hanning'',num,''.pdf'')
¿Cómo inserto una variable en una cadena de Python?
En general, puedes crear cadenas usando:
stringExample = "someString " + str(someNumber)
print(stringExample)
plot.savefig(stringExample)
Necesitaba una versión extendida de esto: en lugar de incrustar un solo número en una cadena, necesitaba generar una serie de nombres de archivo del formato ''archivo1.pdf'', ''archivo2.pdf'', etc. Así es como funciona trabajó:
[''file'' + str(i) + ''.pdf'' for i in range(1,4)]
No estoy seguro de exactamente qué hace todo el código que publicó, pero para responder a la pregunta planteada en el título, puede usar + como la función normal de concat de cadena, así como str ().
"hello " + str(10) + " world" = "hello 10 world"
¡Espero que ayude!
Oh, las muchas, muchas maneras ...
Concatenación de cadenas:
plot.savefig(''hanning'' + str(num) + ''.pdf'')
Especificador de conversión:
plot.savefig(''hanning%s.pdf'' % num)
Usando nombres de variables locales:
plot.savefig(''hanning%(num)s.pdf'' % locals()) # Neat trick
Usando formato ():
plot.savefig(''hanning{0}.pdf''.format(num)) # Note: This is the new preferred way
Usando string.Template:
plot.savefig(string.Template(''hanning${num}.pdf'').substitute(locals()))
plot.savefig(''hanning(%d).pdf'' % num)
El operador %
, al seguir una cadena, le permite insertar valores en esa cadena a través de códigos de formato (el %d
en este caso). Para obtener más detalles, consulte la documentación de Python:
https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting