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