Introdução ao Python (parte 1)

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.

[ Hits: 72.356 ]

Por: Fabio Rizzo Matos em 04/02/2005 | Blog: http://www.vindula.com.br


Tipos de objetos



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.

minhastring='Fabio Rizzo'
minhastring

'Fabio Rizzo'

Podemos declarar uma string de várias formas:

String='Fabio Rizzo'
String="Fabio Rizzo"

String="""Fabio
Rizzo
em
várias
linhas
"""

print String

Fabio
Rizzo
em
várias
linhas

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ó:

sobrenome = "Matos"
nomecompleto = minhastring + ' ' + sobrenome

print nomecompleto

Fabio Rizzo Matos

Vamos detalhar essa parte do código:

nomecompleto = minhastring + ' ' + sobrenome

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).

Página anterior     Próxima página

Páginas do artigo
   1. Instalação
   2. Tipos de objetos
   3. Uso de listas
   4. Tuplas
   5. Dicionários
   6. Formatando strings
   7. Entrada de dados
   8. Próximo artigo
Outros artigos deste autor

Instalando o MySQL no Zope/Plone e criando uma pequena aplicação

ZPT - Zope Pages Templates

Gerenciando registros em banco de dados com Zope

Customizando o layout do plone

Instalando um servidor Zope/Plone

Leitura recomendada

Customizando o layout do plone

CMS Plone 4.1.6 com invólucro Virtualenv + Buildout + Mount Point + BLOB Storage + Unicode UTF-8

Instalação básica do Plone 3 com Buildout no Linux

FreeBSD + Zope/Plone, uma idéia frustrante?

Solução de Intranet Vindula 1.1 - Instalação no Ubuntu 10.04 LTS

  
Comentários
[1] Comentário enviado por bhl em 04/02/2005 - 16:26h

Legal seu artigo. Parabéns!

[2] Comentário enviado por vodooo em 05/02/2005 - 08:09h

Muito bom artigo!!!!

O Python é uma linguagem de programação muito versátil e poderosa sem deixar de lado a simplicidade!!!

Abraços

[3] Comentário enviado por fike em 06/02/2005 - 09:01h

Parabéns pelo artigo, muito bom!!!
Só assim para aprender Python...


[]'s
Fernando Ike

[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!

Fabio Rizzo
www.fabiorizzo.com

[5] Comentário enviado por fabrizmat em 09/02/2005 - 15:48h

Pessoal,

Uma correção:

onde está:

idade=int(22) teste=nomecompleto+' '+idade

deveria estar:

idade=int(22)
teste=nomecompleto+' '+idade

Eu errei nesse ponto. O meu amigo Ruivaldo Neto me avisou e estou aqui corrigindo!!!

Valeu Pessoal

Fabio Rizzo Matos
www.fabiorizzo.com

[6] Comentário enviado por brejao em 17/01/2007 - 10:26h

Neste comentário faltam algumas explicações, como por exemplo, como transformar o que o usuário digitou em string.

idade = str(raw_input('Qual a sua idade??'))

Também faltou explicar como transformar para um numero com casas decimais... mas está bom.

[7] Comentário enviado por ricardoozzy em 04/08/2007 - 14:37h

muito bom esse artigo vc esta de parabéns

[8] Comentário enviado por jpunker em 25/08/2008 - 22:11h

Ola, como faço para pegar os 3 ultimos caracteres de um string?

[9] Comentário enviado por fchevitarese em 12/05/2009 - 09:20h

Artigo simples mas que da uma idéia legal sobre o python!

Valeu! ;)

[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)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts