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.
Note o que acontece quando você 'mistura' tipos diferentes de números. Python converte os números, quando necessário. Assim, em uma operação onde um dos números é complexo, o outro número também é convertido para ser um número complexo; quando um dos número é do tipo float e o outro é integer, o integer é convertido para o tipo float, e assim por diante.
Veja algumas funções nativas do python para lidar com números:
>>> abs(-43) # toma o valor absoluto, o 'módulo' comum da matemática
43
>>> abs(1+1j) # quando o número é complexo, toma a 'norma' do número, a distância da origem (0,0) até o ponto.
1.4142135623730951
>>>
>>> divmod(9,2) # esta função analisa os números fornecidos, e retorna a divisão (por inteiro) e o resto.
(4,1)
>>>
>>> pow(11*2) # o mesmo resultado do operador **
121
>>>
>>> round(11.654) # arredonda o número inteiro mais próximo.
12
>>> round(11.654, 2) # quando é fornecido um segundo número, o arredondamento ocorre no algarismo de posição indicada por tal número.
11,65
[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.