Python, o curso (parte 1)

Este artigo é para aqueles que estão iniciando na arte da programação e desejam começar com esta fantástica linguagem: Python. Sugiro que leiam meu artigo anterior, Aprenda Python - Guia "Rápido", que serve como uma 'viagem rápida' pela linguagem. Neste e nos próximos artigos introduzirei de forma mais profunda os aspectos vistos no artigo acima citado.

[ Hits: 28.107 ]

Por: Juliao Junior em 18/11/2007


Identificadores e operadores



Os nomes de variáveis em Python seguem a forma 'normal' encontrada em outras linguagens: começam com uma letra, A-Z ou a-z, ou um underline, '_', sendo seguido de qualquer quantidade de letras ou números. Obviamente, tente dar nomes descritivos para sua variável. Por exemplo, uma variável que guarda a média das notas teria 'MEDIA-NOTAS' como um bom nome. Além disso, lembre-se que Python diferencia entre maiúsculas e minúsculas; desta forma, 'MEDIA' e 'media' serão tratadas como sendo duas variáveis diferentes.

Como em outras linguagens, Python também possui suas palavras reservadas, que você não deve fazer uso para nomes de variáveis. Veja abaixo quais são elas.

and	assert	break	class	continue	finally
del	elif	else	except	exec		in
for	from	global	if	import		print
is	lambda	not	or	pass		
raise	return	try	while	def

Tipos numéricos

Python possui quatro tipos numéricos. Veja quais são (permaneci com a nomenclatura em inglês original, por simplicidade de comparação com outras fontes):
  • Integers: são os números inteiros entre -2147483648 e 214748364.
  • Long-integers: similar aos inteiros, porém os valores máximos e mínimos estão restritos apenas pela quantidade de memória que tivermos. Para diferenciar entre integers e long-integers, coloque um 'L' no fim dos últimos.

    >>> x=50
    >>> y=50L
    >>> x**12
    244140625000000000000L
    >>> y**12
    244140625000000000000L
    >>> x*1548745
    77437250
    >>> x*15487454515
    774372725750L

  • Float: são aqueles que chamaríamos de 'números reais'. Para diferenciar dos inteiros, você deve escrever com o ponto costumeiro dos números decimais. Veja:

    >>> t = 25 # t recebe o integer 25
    >>> m = 25.0 # m recebe o float 25.0

    Quando estiver fazendo cálculos, se houver muitas operações envolvidas, é importante lembrar que tipos float não são números reais 'autênticos'. Na verdade, o computador fará aproximações, tendo em vista sua limitação para tratar as casas decimais. Desta forma, você verá coisas como esta:

    >>> 10.0/4.0
    2.5
    >>> 10./3.0
    3.3333333333333335

    Note a aproximação feita no último resultado.

  • Imaginary numbers: são os números imaginários, úteis para lidar com números complexos. Isto mesmo!! Diferente de outras linguagens, Python traz nativamente o uso de números imaginário. Para usá-los, coloque a letra 'j' após o número (integer ou float). E mais: quando usamos adição/subtração entre um 'real' e um imaginário, Python reconhece o resultado como sendo um número complexo. Veja:

    >>> x = 12
    >>> y = 14j
    >>> m = x+y
    >>> print m
    (12+14j)
    >>> print 3*m
    (36+42j)

    Próxima página

Páginas do artigo
   1. Identificadores e operadores
   2. Operadores
   3. Variáveis
Outros artigos deste autor

DeVeDe - Produzindo discos de vídeo

Programando em Octave (parte 1)

Convertendo formatos de vídeo/áudio

Linux rebate Microsoft

Octave - Programação científica no Linux

Leitura recomendada

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

Customizando o layout do plone

Introdução ao Python (parte 1)

Criando formulários no Zope/Plone utilizando o banco de dados MySQL

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

  
Comentários
[1] Comentário enviado por tenchi em 18/11/2007 - 12:27h

Isso mesmo... Vai escrevendo que eu vou adicionando nos meus favoritos ;-) Isso vai me ser muito útil rsrs

Nota 10.

[2] Comentário enviado por juliaojunior em 19/11/2007 - 00:58h

Valeu, tenchi. Vc é demais. :>

[3] Comentário enviado por elgio em 19/11/2007 - 11:45h

Cara, nunca programei uma linha em python (e, sorry, acho que não vou migrar não! :-D)

Mas uma coisa me chamou MUITO A ATENÇÃO e de início DUVIDEI, mas ai eu testei...
Tu disse que um inteiro longo tem tamanho limitado a memória.
NUNCA VI ISTO como sintaxe de uma linguagem, JAMAIS!
O C tem, se tu usar a biblioteca bh.h do openssl.
O JAVA tem se tu usar uma classe BIG number... E assim vai.

Suporte NATIVO, cara, é a primeira linguagem que vejo!

Ai eu fiz o cálculo do fatorial de 10000 em python:

python -c "print `seq -s* 1 10000`;"
(gera um número com 35660 digitos!!!!)

Agora o que me MATOU MESMO foi isto:
a) um python -c "print `seq -s* 1 10000`;" levou 1.4 segundos para terminar em meu Pentium M 1.55

b) um seq -s* 1 10000|bc levou 4.3 segundos!!

Ah pára!


[4] Comentário enviado por juliaojunior em 19/11/2007 - 13:55h

É, elgio... certamente não é a linguagem que arrebata os corações dos já experientes. pelo menos, não à primeira vista.

Mas vou prosseguir com este artigo, abordando outros aspectos da linguagem, e quem sabe não surge, se não uma paixão, pelo menos um namoro com Python.

Quanto aos testes, peço que explique melhor, a fim de ajudar os iniciantes. (afinal, o artigo é voltado para eles)

[5] Comentário enviado por elgio em 19/11/2007 - 15:16h

Ihhhhh!

Desculpe pelo meu modo meio irônico de escrever. As vezes sou mal compreendido!

Eu quiz dizer que o python nunca havia chamado a atenção. Algumas linguagens é como time de futebol, penso eu, não adianta eu dizer que o meu é melhor que o teu... Entra ai o python, perl e PHP que se destinam QUASE ao mesmo público.

O que eu quiz dizer é que NUNCA me chamou a atenção o python, mas esta tua de que ele suporta números de qualquer grandeza é NOVIDADE pra mim nas linguagens! Eu não conheço NENHUMA outra linguagem que suporte números BIG nativamente (outras é sempre via uma biblioteca especial, via uma classe especial, etc)!

Ponto pra ele!

E quanto ao teste, veja que o que eu demonstrei no comentário anterior foi justamente que o python INCRIVELMENTE foi mais RÁPIDO que o próprio bc para calcular o fatorial de 10mil. E o bc foi escrito em c... Mais ponto pra ele.

Enfim, o python acabou de me chamar a atenção...

Se vou definitivamente trocar de time, bem, paixão é paixão ;-)

PS: Bom, se o meu time (PHP) e o python não participarem do mesmo campeonato, não há problema eu ser torcedor de ambos, certo?

[6] Comentário enviado por juliaojunior em 19/11/2007 - 15:39h

kkkk, muito bom elgio!!!

[7] Comentário enviado por franciscosouza em 19/11/2007 - 20:05h

Gostei demais da linguagem, nunca havia programado nada nisso também (:

Mas também não é pra mim, eu acho xD
De qualquer forma, parabéns pelo artigo, e também acho que você deve seguir em frente.

Ainda farei também uns testes com a linguagem, quem sabe eu me apaixono hehe

Parabéns, novamente :)

[8] Comentário enviado por ph1l-ss-71 em 20/11/2007 - 00:52h

Estou aprendendo a programar em Python..
Muito legal pra mim que sou iniciante. Usar pygtk e o Glade deixa as coisas mais legais =D

Tava pensando em fazer um artigo sobre os widgets do Gtk(como eles funcionam etc), mas to aprendendo ainda...

Parabéns pelo artigo!

[9] Comentário enviado por sbrown em 20/11/2007 - 02:11h

Cara,

mto bom mesmo, seu artigo...
eu vi na wikpedia, recentemente, mais especificamente no Wikibooks, um livro dedicado ao PHP com contribuição de várias pessoas...
só uma sugestão: pq vc não fazem um projeto na mesma linha?.. entrem lah e dêem uma olhada... eu achei q ficou bacana...

PHP e python/plone, depois de mta pesquisa, são as linguagens que decidi adotar....
estou em faze de aprendizado bem inicial ainda, mas
já agradeço a pessoas dispostas a compartilhar conhecimento, como o Junior, que possibilitam uma série de outros possam também entrar no mundo das tecnologias livres.... de certa forma, uma inclusão digital...
e no mais, o pessoal que procura profissionais, certamente olharão com melhores olhos para esse tipo de profissional, tanto pela sua atitude/estilo como pelo nível de sua capacitação/experiência... ou seja o sempre eficiente trabalho GANHA-GANHA...

abraço e parabéns pela iniciativa

[10] Comentário enviado por franciscosouza em 20/11/2007 - 05:46h

phl1l-ss-71, um artigo sobre widgets do Gtk seria interessantíssimo ^^

E quanto a fazer um wikibook, também acho interessante.
Veremos o que pensa o juliao

[11] Comentário enviado por Teixeira em 21/11/2007 - 08:22h

Minha última linguagem de programação foi o Clipper Summer '87.
Para quem veio do assembly, do cobol e do basic, aquele clipper (ainda da Nantucket) era bastante conveniente ou seja, permitia uma grande produtividade em tempo recorde.
Contudo, não era de forma alguma a linguagem ideal.
Posteriormente a isso, experimentei a linguagem PAL do Paradox (ainda para DOS) e achei a parte do banco de dados muito melhor, e extremamente rápida.
Entretanto, ambas as linguagens apresentam deficiências aqui e ali, como também acontece com qualquer outra, havendo sempre alguma vantagem em algum aspecto.
Percebo pela descrição que (a grosso modo) a Phython não é o paraíso de perfeição esperado por todos mas como esse tal paraíso ainda não existe, vejo pelo lado da característica de atender a muitas plataformas.
Já baixei a Phyton e um editor para ela. Dentro de algumas semanas vou começar a aprender a linguagem a partir dos tutoriais.
Foi o seu artigo que me incentivou para isso.
Parabéns!



[12] Comentário enviado por juliaojunior em 21/11/2007 - 09:58h

Pessoal, acho uma boa a idéia de criar um wiikibook. Eu mesmo nunca comecei um. Vocês já tiveram essa experiência?

Na verdade, tenho uma certa vontade de caminhar por esse rumo: os livros. Estou me formando em Física, e são poucos os livros em bom português, e isto se aplica um pouco aqueles que usam informática voltada para campos específicos.

Quem se habilita a ajudar no wikibook?

[13] Comentário enviado por corcelnitro em 23/11/2007 - 13:16h

acho maravilhosa a idéia de montar um wiikibook. Deixo a disposição o meu msn para mais esclarecimentos e botar planos em pratica hahahah

msn: marcelo_sousa_520@hotmail.com
email: corcelturbo@yahoo.com.br

Obrigado e fico no aguardo

[14] Comentário enviado por juliaojunior em 02/12/2007 - 14:38h

em breve entro em contato para colocarmos essa idéia à frente. nas próximas duas semanas estarei muito ocupado. após isso, boto essa idéia para frente.

[15] Comentário enviado por cleysinhonv em 10/09/2008 - 08:33h

Olha! Muito bom este artigo, estou cursando sistemas de informação e temos aulas de programação I, estamos em pascal, estou abtolado em aprender python, tudos os exercicios de aula eu os faço em python - tento - preciso conhecer um pouco mais sobre a sua identação..

Valeu pelo artigo

[16] Comentário enviado por robisonmachado em 12/06/2010 - 09:43h

Cara, Python realmente é uma das linguagens que achei mais fáceis de aprender, não que eu a domine, mas, como iniciante que sou na arte da programação vejo que ela facilita muito o ato da programação, breve devo retornar ao aprendizado, por enquanto fui para o C devido ao curso que eu e meu irmão estamos fazendo.

Valeu pelo artigo!!!!

[17] Comentário enviado por fernandoamador em 29/06/2011 - 15:32h

Ótimo artigo...

[18] Comentário enviado por steff.henrique em 04/08/2011 - 17:39h

cara, mt bom seu artigo,
resolvi fazer o teste na própria calc do rwindows(não que eu uso, mas gosto de comparações),
certo que no rwindows é mais lento, por inumeros aspectos mas fiz o fatorial de 10000 e levou para mais de 10 minutos, então
percebam a eficiencia do phyton,
no começo tbm achei phyton sem nada a acresentar, mas com o tempo percebe -se sua facilidade em usar, e eficiencia,
parabéns.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts