"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > String e vírgula final, pegue casal e torne-se, Tupla (): Um erro de copiar e colar para Erro e conceito

String e vírgula final, pegue casal e torne-se, Tupla (): Um erro de copiar e colar para Erro e conceito

Publicado em 30/07/2024
Navegar:362

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

Hoje, vou contar uma história sobre meu erro de copiar e colar e como uma string com vírgula final foi acoplada e se tornou uma Tuple() em meu programa Python. Estranhamente, eu não conhecia esse conceito antes de cometer esse erro.
Então, vamos começar aprendendo rapidamente sobre string e tupla em Python.

Corda

Definição: Uma sequência de caracteres usada para armazenar e manipular texto.
Sintaxe: Entre aspas simples ' ', aspas duplas " " ou aspas triplas ''' '''/""" """.
Imutabilidade: Strings não podem ser alteradas após a criação.

# Exemplo mystring = "Olá, mundo!" print(tipo(minhastring)) #Saída: minhastring2 =str() imprimir(tipo(minhastring2)) #Saída:
# Example
mystring = "Hello, World!"
print(type(mystring)) 
#Output: 

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

Definição: Uma sequência imutável de valores.

Sintaxe: Definido entre parênteses ( ), separados por vírgulas.

Imutabilidade: Depois de criados, os elementos não podem ser alterados.

# Exemplo mitupla = (1,2) print(tipo(mitupla)) #Saída: minhatupla2 =tupla() imprimir(tipo(mituple2)) #Saída:
# Example
mystring = "Hello, World!"
print(type(mystring)) 
#Output: 

mystring2 =str()
print(type(mystring2))
#Output: 
Agora, sabemos sobre string e tupla e como obter uma variável do tipo string ou tupla usando atribuição direta ou usando abordagem de classe usando construtor. Mas minha história é diferente :).

A instrução Python não precisa de ponto e vírgula (;) ou vírgula (,) ou qualquer outro símbolo de fechamento (o espaçamento é usado para lidar com o bloco), então como você pode terminar com uma vírgula final com uma string como “Ajit Kumar”, porque muitas vezes você copia o elemento string da lista do dicionário e muitas vezes termina com uma vírgula final. Foi isso que aconteceu comigo e então a história ficou interessante.

String com vírgula final

Então, primeiro vamos dar um exemplo da minha história.


meu erro = "Ajit Kumar", imprimir(tipo(meuerro)) #Saída:
# Example
mystring = "Hello, World!"
print(type(mystring)) 
#Output: 

mystring2 =str()
print(type(mystring2))
#Output: 
Agora, há duas coisas a observar:

1) O interpretador Python não gerará nenhum erro devido à vírgula final com a string 'mymistake', caso contrário, o erro não teria prosseguido.
2) O tipo de variável tornou-se 'tupla' do que a intenção original de criar uma variável de string mymistake.

Escrevi aqui e parece muito fácil e simples, mas demorou horas para depurar esse erro, pois estava passando a string como argumento para um método e os erros eram estranhos e continuo trabalhando no método e tentando entender o mensagem de erro. Por exemplo, a mensagem era tipo, a variável 'nome' não possui um método lower().

Problemas

Se você usar uma vírgula sem parênteses, o Python a tratará como uma tupla.

Exemplo: mymistake = "Ajit Kumar", cria uma tupla ("Ajit Kumar",).

Então, se você deseja criar uma tupla contendo apenas item/elemento, você precisa ter muito cuidado. A seguir o exemplo, demonstre que, no primeiro exemplo, mesmo um item está entre colchetes (1), python trata isso como um número inteiro e não como uma tupla.


item único = (1) imprimir(tipo(item único)) #Saída:

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


tupla de item único = (1,) imprimir (tupla de item único) #saída: (1,) imprimir(tipo(tupla de item único)) #saída:

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

print(type(singleitemtuple))
#output:  

No entanto, a documentação do Python mencionou isso claramente e foi meu erro ou negligência minha não ter percebido e sempre usado () para criar uma tupla mesmo para um único item com vírgula de treinamento. Fonte

De qualquer forma, isso me deu um novo aprendizado e um atalho para criar uma tupla com um único item ou mais itens sem usar (). Sim, tentei usar a "vírgula final" com mais itens para criar uma tupla e funcionou. Exemplo:


mylearning = "Ajit Kumar","Abril","python", imprimir(meuaprendizagem) #saída: ('Ajit Kumar', 'abril', 'python') imprimir(tipo(meuerro)) #saída:

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

print(type(mymistake))
#output:  

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/ajitkumar/string-and-trailing-comma-get-couple-and-become-tuple-a-copy-paste-mistake-to-error-and-concept- 3gfl? 1Se houver alguma violação, entre em contato com [email protected] para excluí-la.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3