Diferente de C++ e Java, variáveis Python não contêm informação explícita de tipo. Se usa função que requer string, pode passar variáveis de outros tipos sem exceção, embora código possa lançar exceção ao processar. Os únicos tipos que pode precisar converter para string são estruturas compostas como conjuntos (sets) e listas. Python inclui funções e operadores convenientes para iterar itens de estrutura e anexar caracteres a variável string.
C++ e Java exigem palavra reservada de tipo antes de alocação de variáveis porque compilador/runtime deve saber como tratar dados. Essas linguagens estaticamente tipadas usam casting para converter entre tipos se possível. Python é dinamicamente tipada: interpretador infere tipo em tempo de execução, então apenas atribui valores a variáveis conforme necessário. Pode atribuir qualquer tipo a variável usada antes como outro tipo; coletor de lixo Python remove variável antiga da memória.
Se programa coleta informação textual em estrutura composta (lista, tupla, conjunto), pode iterar sobre a estrutura anexando elementos a variável string. Não precisa declarar string antes de iterar, mas simplifica código. Exemplo básico convertendo lista para string:
ultimateQuestion = "" # string vazia tokens = ["What's ", 6, " times ", 9, "?"] # lista tipos mistos com espaços for t in tokens: ultimateQuestion += str(t) print(ultimateQuestion)
O método str no loop converte inteiros para string e não afeta strings existentes. Rodando no interpretador, imprime "What's 6 times 9?".
Como linguagens de alto nível, Python inclui muitos métodos do tipo string embutido. Em Python, pode chamar esses métodos de literal string. Para concatenar elementos de lista, passe variável lista para método join de literal string:
tokens = ['Hello', 'World'] # tokens string sem espaços pyString = ' '.join(tokens) print(pyString)
Este script chama join do literal ' ' (string de um caractere espaço). Concatena 'Hello' e 'World' em "Hello World" inserindo o objeto chamador (espaço) entre cada elemento.
Como em outras linguagens de alto nível, deve atentar ao escopo da variável ao declarar/atribuir strings. Se declarar string dentro de função/loop, não pode usar em outro lugar do programa. Ex: interpretador destrói variável "verticalList" após retornar do loop:
for g in groceries: verticalList += g + '\n' # string declarada dentro do for print(verticalList)
Lança exceção porque "verticalList" não está definida fora do escopo do for.
Tecnologia Eletrônica © [www.351231.com]