É difícil falar de uma linguagem, porque tem muita coisa a se falar.
O que posso dizer, é que é a linguagem que mais estou usando ultimamente, e a cada dia descubro coisas novas, e interessantes.
Python
O Python é uma linguagem de programação de alto nível, interpretada, imperativa, orientada a objetos, de tipagem dinâmica e forte. O código é aberto, e multiplataforma.Ela foi criada por Guido van Rossum, que não por acaso trabalha hoje na Google (uma das empresas mais conhecidas que utilizam Python).
Apesar do nome estar associado ao réptil píton, a linguagem veio em homenagem ao grupo humorístico britânico Monty Python.
Always Look on the Bright Side of Life
1) Instalação
O Python já vem instalado em vários sistemas operacionais como Linux e Mac. Caso não tenha instalado na máquina acesse aqui.Hoje ele está na versão 3, mas utilizamos a versão 2.7 para exemplificar. A versão 3 tem quebra de compatibilidade com a versão 2.7
Para verificar a versão do Python na máquina digite:
python --version
2) Começando a brincar
Para abrir um shell interativo, digitepython
Abrirá algo como:
Dentro dele, pode-se digite:
x = 1 y = 1 resultado = x + y print resultado
Note que diferentemente de Java, nós não atribuimos o tipo para as variáveis. Assim sendo posso também fazer:
x = "Alexandre " y = "Uehara" resultado = x + y print resultado
Isso é o começo para brincarmos com o Python (em um shell interativo). Aliás caso queiram, pode instalar também o iPython (o qual recomendo bastante).
3) Bibliotecas
Para instalar o iPython e outras bibliotecas, recomendo instalar pelo easy_install ou pip. Eles são gerenciadores de bibliotecas (tal como apt-get e RubyGems).Lembrando que em Python muitas bibliotecas já vem como padrão, não precisando instalar bibliotecas de terceiros.
Exemplo:
Caso eu queira instalar o virtualenv, digite:
sudo easy_install virtualenvou
sudo pip install virtualenv
Aliás o virtualenv, é uma ferramenta para termos várias versões de python em sua máquina. Semelhante ao RVM em Ruby.
4) Escrevendo um programa
4.1) Hello WorldPara escrever um Hello World, crie um arquivo, helloworld.py
Dentro dele escreva:
print Hello World
Só isso? Sim, só isso. Depois disso, digite no terminal:
python helloworld.py
4.2) Hello World executável
Dentro do mesmo arquivo adicione na primeira linha:
#!/usr/bin/python
Depois dê permissão de executável ao arquivo:
chmod ugoa+x helloworld.py
E, execute:
./helloworld.py
Simples!!!
4.3) Blocos == Identação
O que torna o Python simples de ler, entender e dar manutenção é que não existe blocos com chaves "{" e "}" como no Java. Os blocos são as próprias identações.
Exemplo: crie um programa chamado:
- nome.py
#!/usr/bin/python if nome == "Alexandre": print nome else: print "outro nome"
Veja que colocamos 2 espaços depois do if, e depois do else. Dê novamente a permissão de executável ao arquivo, e execute.
4.4) Classes
Apesar da linguagem ser orientada a objetos como vocês puderam ver anteriormente, não precisamos utilizá-lo dessa maneira.
Mas o legal, é realmente usá-lo como OO. Para criar uma classe:
class Empregado() def __init__(self, nome): self.nome = nome def printNome(self, mensagem="Meu nome é: "): print mensagem + self.nome
Mas o que é esses montes de "self". É... realmente não é elegante, mas é como se fossem os vários "this" do Java.
E o "__init__"?? É o construtor da classe.
E o "mensagem=" no método "printNome". O "mensangem=" é o argumento do método, mas com um valor default. Isso é para faciliar a sobrecarga de métodos. Lembrando que não é necessário colocar um valor default para ele..
É possível também passar ao método os argumentos em qualquer ordem, passando o nome do argumento:
#!/usr/bin/python # -*- coding: utf8 -*- class Empregado(): def __init__(self, nome): self.nome = nome def printNome(self, mensagem="Meu nome é: ", mensagemfinal="."): print mensagem + self.nome + mensagemfinal def main(): empregado = Empregado("Alexandre") empregado.printNome(mensagemfinal="!!!") if __name__ == "__main__": main()
Veja que adicionamos na 2a. linha o encoding.
E para iniciar o programa, colocamos o main.
4.5) Bibliotecas
Para chamar uma biblioteca é só chamar o import:
#!/usr/bin/python # -*- coding: utf8 -*- import unittestou
#!/usr/bin/python # -*- coding: utf8 -*- import os print os.getcwd()
Veja que acima, nós adicionamos a biblioteca "unittest" e na outra o "os".
Ah! E como dá para perceber, o "unittest" vem como padrão no Python. Muito legal! hahah!!!!
Caso não queira importar tudo, pode-se chamar:
#!/usr/bin/python # -*- coding: utf8 -*- from datetime import timedelta d = timedelta(microseconds=-1) print dImportando apenas o timedelta do datetime
4.6) "Grandes poderes trazem grandes responsabilidades."
A linguagem Python deixa você fazer muitas coisas, que outras linguagens não deixam, como acesso a atributos protected.
Ou seja, não é uma linguagem "burocrática", entãããããããão tome cuidado com o que você vai fazer.
Usos da Linguagens
O Python é poderoso. Há muitos tipos de uso como:- em scripts
- web, usando Frameworks como, Django, Flask, Zope, etc
- CMS, como Plone
- Sistemas embarcados
- Games, usando por exemplo o PyGame, PyOpenGL
- Jython - Python rodando na JVM
- IronPython - para .NET
- Procesamento de imagens - PIL - Python Imaging Library
- Interfaces Gráficas - PyGTK, PyQt
- etc.
Conclusão
Gostaria de escrever muito mais coisa sobre a linguagem, mas o post já está ficando comprido demais. O que escrevi foi o básico e bem superficial. Abaixo ficará algumas fontes, para quem se interessar mais. Ou entre em contato comigo no @AleUeharaE por último digite no interpretador python:
import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
Fontes:
Site Oficial - PythonPython Brasil
Evento Python Brasil
Wikipedia - Python
Django Brasil
Python - Google Groups
Google Python Style Guide
Code Academy
Learn Python
- Livros
Dive into Python
Livros de Python
6 Livros Gratuitos Aprenda a Programar (em pt-br)
Tutorial de Python (em pt-br)
- Curso
Globalcode - Academia Python
- Video
Introducing Python
Show me Do
Python Brasil [5]
- Aplicativo no iPhone
Python for iOS
- Curiosidade
Mandelbrot in Python
Nenhum comentário:
Postar um comentário