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: 27.835 ]

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 (nem tanto) Introdutório do Linux II

Instalação ou Recuperação do GRUB

Administração de sistema via WEB

Por que os GAMES não são a chave para o Linux em desktops

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

Leitura recomendada

Utilizando o Python como calculadora

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

Aprenda Python - Guia "rápido"

Python - Brincando com arquivos

Instalando um servidor Zope/Plone

  
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