tutorial lenguaje español descargar python

lenguaje - ¿Qué significa% s en Python?



python wikipedia (5)

El método de format se introdujo en Python 2.6. Es más capaz y no es mucho más difícil de usar:

>>> "Hello {}, my name is {}".format(''john'', ''mike'') ''Hello john, my name is mike''. >>> "{1}, {0}".format(''world'', ''Hello'') ''Hello, world'' >>> "{greeting}, {}".format(''world'', greeting=''Hello'') ''Hello, world''

¿Qué significa% s en Python? ¿Y qué hace el siguiente bit de código?

Por ejemplo...

if len(sys.argv) < 2: sys.exit(''Usage: %s database-name'' % sys.argv[0]) if not os.path.exists(sys.argv[1]): sys.exit(''ERROR: Database %s was not found!'' % sys.argv[1])


En respuesta a su segunda pregunta: ¿Qué hace este código? ...

Este es un código de comprobación de errores bastante estándar para una secuencia de comandos de Python que acepta argumentos de línea de comandos.

Entonces, la primera afirmación if traduce en: si no me has pasado una discusión, voy a decirte cómo debes pasarme una discusión en el futuro, por ejemplo, verás esto en la pantalla:

Usage: myscript.py database-name

La siguiente instrucción if comprueba si el ''nombre-base de datos'' que pasó al script realmente existe en el sistema de archivos. Si no, recibirás un mensaje como este:

ERROR: Database database-name was not found!

De la documentation :

argv [0] es el nombre del script (depende del sistema operativo si este es un nombre de ruta completo o no). Si el comando se ejecutó utilizando la opción de línea de comando -c para el intérprete, argv [0] se establece en la cadena ''-c''. Si no se pasó ningún nombre de secuencia de comandos al intérprete de Python, argv [0] es la cadena vacía.


Es una sintaxis de formato de cadena (que toma prestada de C).

Por favor, consulte "Formatear cadenas" :

Python admite valores de formato en cadenas. Aunque esto puede incluir expresiones muy complicadas, el uso más básico es insertar valores en una cadena con el marcador de posición %s .

Editar: Aquí hay un ejemplo realmente simple:

name = raw_input("who are you?") print "hello %s" % (name,)

El token %s me permite insertar (y posiblemente formatear) una cadena. Observe que el token %s se reemplaza por lo que pase a la cadena después del símbolo % . Observe también que también estoy usando una tupla aquí (cuando solo tiene una cadena que usa una tupla es opcional) para ilustrar que múltiples cadenas se pueden insertar y formatear en una sola declaración.


La respuesta de Andrew es buena.

Y para ayudarlo un poco más, así es como usa el formato múltiple en una cadena

"Hello %s, my name is %s" % (''john'', ''mike'') # Hello john, my name is mike".

Si está usando enter en lugar de string, use% d en lugar de% s.

"My name is %s and i''m %d" % (''john'', 12) #My name is john and i''m 12


%s indica un tipo de conversión de cadena cuando se utilizan las capacidades de formateo de cadenas de Python. Más específicamente, %s convierte un valor especificado en una cadena usando la función str() . Compare esto con el tipo de conversión %r que usa la función repr() para la conversión de valores.

Eche un vistazo a los documentos para el formato de cadenas .