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.110 ]

Por: Juliao Junior em 18/11/2007


Operadores



Veja exemplos comuns de operações com números em Python:

>>> + (-5) # conhecido 'jogo de sinais'
-5
>>> -(-5) # idem ao anterior
5
>>> 3+42 # soma
45
>>> 3-42 # subtração
-39
>>> 3*42 # multiplicação
126
>>> 40/3 # divisão 'entre inteiros'
13
>>> 40/3.0 # divisão 'entre reais'
13.333333333333334
>>> 40 % 3 # módulo: retorna o 'resto' da divisão
1
>>> 40**3 # potenciação
64000

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

Página anterior     Próxima página

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

Guia introdutório do Linux IV

Crie um espelho (mirror) Debian em sua máquina

Inkscape - Introdução (Parte 3)

Distro-VOL: Meta-pacotes e comandos

Linux rebate Microsoft

Leitura recomendada

Escreva poemas com a sua linguagem de programação

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

ZPT - Zope Pages Templates

Utilizando as bibliotecas do Java usando o Jython

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

  
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