"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Cadena y coma final, obtener pareja y convertirse en, tupla (): un error de copiar y pegar en Error y concepto

Cadena y coma final, obtener pareja y convertirse en, tupla (): un error de copiar y pegar en Error y concepto

Publicado el 2024-07-30
Navegar:517

String and Trailing comma, get couple and become, Tuple (): A copy & paste mistake to Error and concept

Hoy voy a contar una historia sobre mi error de copiar y pegar y cómo una cadena con una coma al final se acopla y se convierte en una Tupla() en mi programa Python. Curiosamente, no era consciente de este concepto antes de cometer este error.
Entonces, comencemos aprendiendo rápidamente sobre cadenas y tuplas en Python.

Cadena

Definición: Una secuencia de caracteres utilizados para almacenar y manipular texto.
Sintaxis: Entre comillas simples ' ', comillas dobles " " o comillas triples ''' '''/""" """.
Inmutabilidad: Las cadenas no se pueden cambiar después de su creación.

# Example
mystring = "Hello, World!"
print(type(mystring)) 
#Output: 

mystring2 =str()
print(type(mystring2))
#Output: 

tupla

Definición: Una secuencia inmutable de valores.

Sintaxis: Definido entre paréntesis ( ), separados por comas.

Inmutabilidad: Una vez creados, los elementos no se pueden cambiar.

# Example
mytuple = (1,2)
print(type(mytuple)) 
#Output:

mytuple2 =tuple()
print(type(mytuple2))
#Output:

Ahora, sabemos acerca de cadenas y tuplas y cómo obtener una variable de tipo cadena o tupla usando asignación directa o usando un enfoque de clases usando el constructor. Pero mi historia es diferente :).

La declaración de Python no necesita punto y coma (;) o coma (,) ni ningún otro símbolo de cierre (el espaciado se usa para manejar el bloque), entonces, ¿cómo se puede terminar una coma al final con una cadena como "Ajit Kumar", porque a menudo copia un elemento de cadena de la lista del diccionario y, a menudo, termina con una coma al final. Esto es lo que me pasó a mí y luego la historia se volvió interesante.

Cadena con coma final

Entonces, primero déjanos un ejemplo de mi historia.

mymistake = "Ajit Kumar",
print(type(mymistake))
#Output : 

Ahora, hay dos cosas a observar:
1) El intérprete de Python no arrojará ningún error debido a la coma final con la cadena 'mymistake'; de lo contrario, el error no habría ido más allá.

2) El tipo de variable se convirtió en 'tupla' que la intención original de crear una variable de cadena mymistake.

Escribí aquí y parece muy fácil y simple, pero me tomó una hora depurar este error, porque estaba pasando la cadena como argumento a un método y los errores eran extraños y sigo trabajando en el método y tratando de entender el mensaje de error. Por ejemplo, el mensaje era como, la variable 'nombre' no tiene un método lower().

Asuntos

Si usas una coma sin paréntesis, Python la trata como una tupla.

Ejemplo: mymistake = "Ajit Kumar", crea una tupla ("Ajit Kumar",).

Entonces, si desea crear una tupla que tenga solo un elemento/elemento, debe tener mucho cuidado. El siguiente ejemplo demuestra que, en el primer ejemplo, incluso un elemento está entre paréntesis (1), Python lo trata como un número entero y no como una tupla.

singleitem = (1)
print(type(singleitem))
#Output: 

Por lo tanto, para crear una tupla con un solo elemento, debes usar una coma final, de la siguiente manera:

singleitemtuple = (1,)
print(singleitemtuple)
#output:  (1,)

print(type(singleitemtuple))
#output:  

Y creo que esta es la razón por la cual cuando la cadena tiene una coma al final, Python la toma como una tupla y crea la variable como una tupla, no como una cadena.

Sin embargo, la documentación de Python lo menciona claramente y fue mi error o negligencia que no lo noté y siempre he estado usando () para crear una tupla incluso para un solo elemento con una coma de entrenamiento. Fuente

De todos modos, esto me dio algo de aprendizaje nuevo y un atajo para crear una tupla con un solo elemento o más elementos sin usar (). Sí, intenté usar la "coma final" con más elementos para crear una tupla y funcionó. Ejemplo:

mylearning = "Ajit Kumar","April","python",
print(mylearning)
#output: ('Ajit Kumar', 'April', 'python')

print(type(mymistake))
#output:  

Aprendí mucho el fin de semana. Espero que te sea de ayuda. Pon tu discusión y sugerencia en el comentario. Me encanta conocer los atajos de Python y las funciones listas para usar.

Declaración de liberación Este artículo se reproduce en: https://dev.to/ajitkumar/string-and-trailing-comma-get-pair-and-become-tuple-a-copy-paste-mistake-to-error-and-concept- 3gfl? 1Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3