Este artigo tem como objetivo ensinar as pessoas a utilizarem o Python, uma linguagem de fácil aprendizado e muito poderosa! Aqui trataremos tipos de objetos, listas, tuplas, dicionários, formatação de variáveis e entrada de dados.
Neste capítulo iremos aprender como utilizar os mais diversos
tipos de objetos que o Python dispõe, como strings,
listas, dicionários e outros.
Uso de Strings
No Python, strings são seqüencias imutáveis de caracteres. Elas
são imutáveis devido ao fato que para se modificar uma String
seja necessário a criação de outra String.
Em Python, uma string é uma seqüencia de letras endereçadas
de forma que você possa ter acesso a qualquer valor dessa
seqüencia. Os endereçamentos começam a ser contados do zero.
Utilizamos essa sintaxe para ter acesso a um valor em
específico dentro da string:
String[IS:FS:IS]
onde:
IS = Inicio do endereço;
FS = Fim do endereço;
IS = Incremento.
Vamos mapear os endereços da minhastring, que tem o valor Fabio Rizzo:
Agora se quisermos ver o endereço dois da minhastring, que tem o valor b, fazemos o seguinte comando:
minhastring[2]
'b'
E se quisermos somente o nome Fabio? Devemos fazer assim:
minhastring[:5]
'Fabio'
Nesse caso nós falamos para o Python que queremos todos os valores
até o endereço 5. Não podemos esquecer o detalhe que o
interpretador Python entende o último endereço -1. Isso significa
que se quisermos todos os valores até o endereço 6, devemos fazer
minhastring[:7], porque o interpretador irá pegar todos parando
quando chegar no endereço 7.
Para nós pegarmos somente o sobrenome Rizzo devemos fazer:
minhastring[6:]
'Rizzo'
ou:
minhastring[6:11]
'Rizzo'
Ambos funcionam corretamente, somente cabendo a você escolher a
melhor forma de utilizá-los. E se quisermos pegar todos os valores
utilizando incremento de 2? Fazemos assim:
minhastring[::2]
'FboRzo'
Poderíamos pegar do 6 valor para frente incrementando em 2 também. Veja só:
minhastring[6::2]
'Rzo'
Quando não definimos qual é o ponto final na seqüencia, o interpretador Python entende que você quer toda a seqüencia. Podemos também inverter uma seqüencia:
minhastring[::-1]
'ozziR oibaF'
Utilizando o operador negativo, nós invertemos a ordem de contagem dos endereços e o Python passa a contar ao contrário.
E pegando apenas o nome Fabio ao contrário, fazemos o seguinte:
minhastring[4::-1]
'oibaF'
Podemos concatenar uma string em outra muito simplesmente, veja só:
Nesse caso nós pegamos a variável nomecompleto e colocamos
dentro dela os valores de minhastring, um espaço em branco e os
valores de sobrenome.
Lembrando que não podemos concatenar valores de string com
inteiros, ou strings com qualquer outro tipo de dados sem ser
String. Veja abaixo:
idade=int(22)
teste=nomecompleto+' '+idade
Traceback (most recent call last):
File "<pyshell#52>", line 1, in -toplevel-
teste=nomecompleto+' '+idade
TypeError: cannot concatenate 'str' and 'int' objects
Declarei idade como inteiro e tentei concatenar o seu valor
com nomecompleto. O Python retornou uma mensagem de erro,
explicando que não é permitido concatenar str(String) com
int(inteiro). Perceba que forçamos a idade a ser int como
acima. idade=int(22).
[4] Comentário enviado por fabrizmat em 08/02/2005 - 07:59h
Obrigado Pessoal pelo incentivo! Esse que é o motor para o desenvolvimento do software livre, a colaboração e ajuda da sociedade!!! Em breve estarei lançando a parte dois de meu artigo. Até mais!
[10] Comentário enviado por Miojo em 23/02/2010 - 19:55h
>>> # Para transformar um número em float (com casas decimais):
>>> float(42)
42.0
>>> # Para pegar os 3 últimos caracteres de uma string:
>>> 'spam'[-3:]
'pam'
>>> # Mas para saber se uma string começa ou termina com outra, use o método str.startswith e str.endwith:
>>> 'spam'.endswith('pam')
True
>>> 'spam'.endswith('eggs')
False
>>> 'eggs'.startswith('eg')
True
>>> for i in ['Spam', 'Eggs']:
... print 'I like Python and %s' % i # Esta linha está indentada com 4 espaços. Só dá para ver em fontes mono-espaçadas
...
I like Python and Spam
I like Python and Eggs
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
>>> import __hello__
Hello world...
>>> from __future__ import braces
File "<stdin>", line 1
SyntaxError: not a chance
>>> import sys
>>> sys.exit(0)