30 de Janeiro de 2014 UFES
Sumário Parte 1 - O Python e tudo que ele pode te dar Histórico e Filosofia Python; Onde você encontra código Python; ; Instalação e os primeiros passos (de vagar se for preciso); Potencial do Python; Parte 2 - IPython e outros ambientes de desenvolvimento; Ambientes de desenvolvimento para o Python; IPython; Outros ambientes recomendados;
O que é Python Histórico e Características História do Python Características do Python Python é uma linguagem de altíssimo nível (isso não é necessariamente bom, nem ruim), de sintaxe moderna, orientada a objetos, interpretada, com tipagem forte (não há conversões automáticas) e dinâmica (não há declaração de variáveis e elas podem conter diferentes objetos), modular, multiplataforma (isso é ótimo), de fácil aprendizado e de implementação livre. Python foi criada por Guido Van Rossum.
Histórica do Python Histórico e Características História do Python Características do Python 1969 : Tem início o programa Fly Circus do grupo de humor inglês Monty Python; 1974 Termina o Fly Circus, mas não é o fim do Monty Python; 1989 : Guido Van Rossum, começa o projeto Python na Holanda; 1990 : Versões de testes internos na CWI (sigla holandesa para Centro para Matemática e Ciência da Computação); 1991 Primeira versão de teste pública (lembre-se que ainda não tinha internet); 1994 Primeira versão estável de Python (Python 1.0); 2000 Python 2.0; 2008 Python 3.0; 2012 Python 3.3 (versão estável); 2012 Python 3.4 (beta); 2014 Como é mesmo que fala, Paiton...de onde veio o nome?
Histórica do Python Histórico e Características História do Python Características do Python 1969 : Tem início o programa Fly Circus do grupo de humor inglês Monty Python; 1974 Termina o Fly Circus, mas não é o fim do Monty Python; 1989 : Guido Van Rossum, começa o projeto Python na Holanda; 1990 : Versões de testes internos na CWI (sigla holandesa para Centro para Matemática e Ciência da Computação); 1991 Primeira versão de teste pública (lembre-se que ainda não tinha internet); 1994 Primeira versão estável de Python (Python 1.0); 2000 Python 2.0; 2008 Python 3.0; 2012 Python 3.3 (versão estável); 2012 Python 3.4 (beta); 2014 Como é mesmo que fala, Paiton...de onde veio o nome?
Histórica do Python Histórico e Características História do Python Características do Python 1969 : Tem início o programa Fly Circus do grupo de humor inglês Monty Python; 1974 Termina o Fly Circus, mas não é o fim do Monty Python; 1989 : Guido Van Rossum, começa o projeto Python na Holanda; 1990 : Versões de testes internos na CWI (sigla holandesa para Centro para Matemática e Ciência da Computação); 1991 Primeira versão de teste pública (lembre-se que ainda não tinha internet); 1994 Primeira versão estável de Python (Python 1.0); 2000 Python 2.0; 2008 Python 3.0; 2012 Python 3.3 (versão estável); 2012 Python 3.4 (beta); 2014 Como é mesmo que fala, Paiton...de onde veio o nome?
Histórica do Python Histórico e Características História do Python Características do Python 1969 : Tem início o programa Fly Circus do grupo de humor inglês Monty Python; 1974 Termina o Fly Circus, mas não é o fim do Monty Python; 1989 : Guido Van Rossum, começa o projeto Python na Holanda; 1990 : Versões de testes internos na CWI (sigla holandesa para Centro para Matemática e Ciência da Computação); 1991 Primeira versão de teste pública (lembre-se que ainda não tinha internet); 1994 Primeira versão estável de Python (Python 1.0); 2000 Python 2.0; 2008 Python 3.0; 2012 Python 3.3 (versão estável); 2012 Python 3.4 (beta); 2014 Como é mesmo que fala, Paiton...de onde veio o nome?
Histórica do Python Histórico e Características História do Python Características do Python 1969 : Tem início o programa Fly Circus do grupo de humor inglês Monty Python; 1974 Termina o Fly Circus, mas não é o fim do Monty Python; 1989 : Guido Van Rossum, começa o projeto Python na Holanda; 1990 : Versões de testes internos na CWI (sigla holandesa para Centro para Matemática e Ciência da Computação); 1991 Primeira versão de teste pública (lembre-se que ainda não tinha internet); 1994 Primeira versão estável de Python (Python 1.0); 2000 Python 2.0; 2008 Python 3.0; 2012 Python 3.3 (versão estável); 2012 Python 3.4 (beta); 2014 Como é mesmo que fala, Paiton...de onde veio o nome?
Histórica do Python Histórico e Características História do Python Características do Python 1969 : Tem início o programa Fly Circus do grupo de humor inglês Monty Python; 1974 Termina o Fly Circus, mas não é o fim do Monty Python; 1989 : Guido Van Rossum, começa o projeto Python na Holanda; 1990 : Versões de testes internos na CWI (sigla holandesa para Centro para Matemática e Ciência da Computação); 1991 Primeira versão de teste pública (lembre-se que ainda não tinha internet); 1994 Primeira versão estável de Python (Python 1.0); 2000 Python 2.0; 2008 Python 3.0; 2012 Python 3.3 (versão estável); 2012 Python 3.4 (beta); 2014 Como é mesmo que fala, Paiton...de onde veio o nome?
Histórica do Python Histórico e Características História do Python Características do Python 1969 : Tem início o programa Fly Circus do grupo de humor inglês Monty Python; 1974 Termina o Fly Circus, mas não é o fim do Monty Python; 1989 : Guido Van Rossum, começa o projeto Python na Holanda; 1990 : Versões de testes internos na CWI (sigla holandesa para Centro para Matemática e Ciência da Computação); 1991 Primeira versão de teste pública (lembre-se que ainda não tinha internet); 1994 Primeira versão estável de Python (Python 1.0); 2000 Python 2.0; 2008 Python 3.0; 2012 Python 3.3 (versão estável); 2012 Python 3.4 (beta); 2014 Como é mesmo que fala, Paiton...de onde veio o nome?
Filosofia do Python Histórico e Características História do Python Características do Python Ser uma linguagem de alto nível para que seu usuário possa passar mais tempo pensando nas soluções dos problemas do que implementando a solução. Python é dinâmica e simples para ser produtivo;
Histórico e Características Funcionamento do Python História do Python Características do Python Fluxograma do programa Python Usuário Código Fonte Código de Bite Execução do Programa Suas instruções.py.pyc PVM Resultados
Histórico e Características História do Python Características do Python Funcionamento do Python - Isso ajuda na produtividade Fluxograma do programa Python Usuário Código Fonte Código de Bite Execução do Programa Suas instruções.py.pyc PVM Uso Interativo Resultados
Vantagens e Desvantagens História do Python Características do Python Vantagens É mais que gratuito, é código aberto; É portável (desde que o destino tenha Python instalado); É orientado a objetos (como C++); É script (como Shell Script, Perl e etc); É interpretado (como java... só que melhor); É versátil e poderoso (se faz de tudo com Python); É fácil de usar e aprender, isso se reflete em produtividade; Dialoga com relativa facilidade com outras linguagens (C, C++, Fortran, Pascal, Java e etc); É modular, e existem muitos módulos prontos para serem usados; Python é interpretado (você pode manipular o código sem a necessidade de recompilar tudo);
Vantagens e Desvantagens História do Python Características do Python Vantagens É mais que gratuito, é código aberto; É portável (desde que o destino tenha Python instalado); É orientado a objetos (como C++); É script (como Shell Script, Perl e etc); É interpretado (como java... só que melhor); É versátil e poderoso (se faz de tudo com Python); É fácil de usar e aprender, isso se reflete em produtividade; Dialoga com relativa facilidade com outras linguagens (C, C++, Fortran, Pascal, Java e etc); É modular, e existem muitos módulos prontos para serem usados; Python é interpretado (você pode manipular o código sem a necessidade de recompilar tudo);
Vantagens e Desvantagens História do Python Características do Python Vantagens É mais que gratuito, é código aberto; É portável (desde que o destino tenha Python instalado); É orientado a objetos (como C++); É script (como Shell Script, Perl e etc); É interpretado (como java... só que melhor); É versátil e poderoso (se faz de tudo com Python); É fácil de usar e aprender, isso se reflete em produtividade; Dialoga com relativa facilidade com outras linguagens (C, C++, Fortran, Pascal, Java e etc); É modular, e existem muitos módulos prontos para serem usados; Python é interpretado (você pode manipular o código sem a necessidade de recompilar tudo);
Vantagens e Desvantagens História do Python Características do Python Vantagens É mais que gratuito, é código aberto; É portável (desde que o destino tenha Python instalado); É orientado a objetos (como C++); É script (como Shell Script, Perl e etc); É interpretado (como java... só que melhor); É versátil e poderoso (se faz de tudo com Python); É fácil de usar e aprender, isso se reflete em produtividade; Dialoga com relativa facilidade com outras linguagens (C, C++, Fortran, Pascal, Java e etc); É modular, e existem muitos módulos prontos para serem usados; Python é interpretado (você pode manipular o código sem a necessidade de recompilar tudo);
Vantagens e Desvantagens História do Python Características do Python Desvantagens Python é interpretado (e isso o torna mais lento na execução); Arquivos grandes; Sujeito a erros (você tem mais facilidade de errar e não perceber...já que é mais flexível);
O que ele faz? Quem usa isso? Python em diversas escalas Melhor mudar a pergunta... Números brutos Ele faz de tudo, e você pode criar pacotes, dessa forma o código pode ser aproveitado em outros programas. Só para ter uma ideia, segundo o PyPI - the Python Package Index (http://pypi.python.org/pypi) em 2013/1 tínhamos aproximadamente 20 mil pacotes Python 2013/2 tínhamos aproximadamente 34 mil pacotes; HOJE Temos mais de 39 mil pacotes Python listados; Algumas funcionalidades Programação de Interfaces com o Usuário (GUIs), Scripts de busca e segurança na internet, Composição rápida de protótipos (para testar soluções), programação de Jogos/Gráficos/Demonstrações, cálculo numérico e integração de ferramentas; Banco de Dados (usando DJango e outros pacotes), Programação de sistemas operacionais (Linux e MacOS),
O que ele faz? Quem usa isso? Python em diversas escalas Melhor mudar a pergunta... Números brutos Ele faz de tudo, e você pode criar pacotes, dessa forma o código pode ser aproveitado em outros programas. Só para ter uma ideia, segundo o PyPI - the Python Package Index (http://pypi.python.org/pypi) em 2013/1 tínhamos aproximadamente 20 mil pacotes Python 2013/2 tínhamos aproximadamente 34 mil pacotes; HOJE Temos mais de 39 mil pacotes Python listados; Algumas funcionalidades Programação de Interfaces com o Usuário (GUIs), Scripts de busca e segurança na internet, Composição rápida de protótipos (para testar soluções), programação de Jogos/Gráficos/Demonstrações, cálculo numérico e integração de ferramentas; Banco de Dados (usando DJango e outros pacotes), Programação de sistemas operacionais (Linux e MacOS),
O que ele faz? Quem usa isso? Python em diversas escalas Melhor mudar a pergunta... Números brutos Ele faz de tudo, e você pode criar pacotes, dessa forma o código pode ser aproveitado em outros programas. Só para ter uma ideia, segundo o PyPI - the Python Package Index (http://pypi.python.org/pypi) em 2013/1 tínhamos aproximadamente 20 mil pacotes Python 2013/2 tínhamos aproximadamente 34 mil pacotes; HOJE Temos mais de 39 mil pacotes Python listados; Algumas funcionalidades Programação de Interfaces com o Usuário (GUIs), Scripts de busca e segurança na internet, Composição rápida de protótipos (para testar soluções), programação de Jogos/Gráficos/Demonstrações, cálculo numérico e integração de ferramentas; Banco de Dados (usando DJango e outros pacotes), Programação de sistemas operacionais (Linux e MacOS),
O que ele faz? Quem usa isso? Python em diversas escalas Melhor mudar a pergunta... Números brutos Ele faz de tudo, e você pode criar pacotes, dessa forma o código pode ser aproveitado em outros programas. Só para ter uma ideia, segundo o PyPI - the Python Package Index (http://pypi.python.org/pypi) em 2013/1 tínhamos aproximadamente 20 mil pacotes Python 2013/2 tínhamos aproximadamente 34 mil pacotes; HOJE Temos mais de 39 mil pacotes Python listados; Algumas funcionalidades Programação de Interfaces com o Usuário (GUIs), Scripts de busca e segurança na internet, Composição rápida de protótipos (para testar soluções), programação de Jogos/Gráficos/Demonstrações, cálculo numérico e integração de ferramentas; Banco de Dados (usando DJango e outros pacotes), Programação de sistemas operacionais (Linux e MacOS),
O que ele faz? Quem usa isso? Python em diversas escalas Python comparado a outras linguagens
Pessoas e instituições Histórico e Características O que ele faz? Quem usa isso? Python em diversas escalas UCS (Universidade Caxias do Sul) e UFPE (Federal de Pernambuco) - Usam Python em seus cursos de graduação; MIT - Curso presenciais e virtuais de Python Cornell - Usa Python nas disciplinas introdutórias de computação; Funceme - Utiliza Python em Radares; Embratel - Empresa de Telefonia usa Python; INPE - Instituto Nacional de Pesquisas Espaciais - usa diversas rotinas Python em seus servidores; Serpro - O Serviço Federal de Processamento de Dados usa Python;
Pessoas e instituições Histórico e Características O que ele faz? Quem usa isso? Python em diversas escalas UCS (Universidade Caxias do Sul) e UFPE (Federal de Pernambuco) - Usam Python em seus cursos de graduação; MIT - Curso presenciais e virtuais de Python Cornell - Usa Python nas disciplinas introdutórias de computação; Funceme - Utiliza Python em Radares; Embratel - Empresa de Telefonia usa Python; INPE - Instituto Nacional de Pesquisas Espaciais - usa diversas rotinas Python em seus servidores; Serpro - O Serviço Federal de Processamento de Dados usa Python;
Pessoas e instituições Histórico e Características O que ele faz? Quem usa isso? Python em diversas escalas UCS (Universidade Caxias do Sul) e UFPE (Federal de Pernambuco) - Usam Python em seus cursos de graduação; MIT - Curso presenciais e virtuais de Python Cornell - Usa Python nas disciplinas introdutórias de computação; Funceme - Utiliza Python em Radares; Embratel - Empresa de Telefonia usa Python; INPE - Instituto Nacional de Pesquisas Espaciais - usa diversas rotinas Python em seus servidores; Serpro - O Serviço Federal de Processamento de Dados usa Python;
Pessoas e instituições Histórico e Características O que ele faz? Quem usa isso? Python em diversas escalas UCS (Universidade Caxias do Sul) e UFPE (Federal de Pernambuco) - Usam Python em seus cursos de graduação; MIT - Curso presenciais e virtuais de Python Cornell - Usa Python nas disciplinas introdutórias de computação; Funceme - Utiliza Python em Radares; Embratel - Empresa de Telefonia usa Python; INPE - Instituto Nacional de Pesquisas Espaciais - usa diversas rotinas Python em seus servidores; Serpro - O Serviço Federal de Processamento de Dados usa Python;
Grandes projetos; Histórico e Características O que ele faz? Quem usa isso? Python em diversas escalas Mesmo que não seja a linguagem principal de muitos projetos de informática/ciências/engenharia/tecnologia da informação, Python está presente como ferramenta integradora;
Em sua casa; Histórico e Características O que ele faz? Quem usa isso? Python em diversas escalas Já está lá e vc não sabia Serviços de internet; Sistemas operacionais; Programas e suas interfaces; Jogos; E você como professor/pesquisador ainda poderia... Fazer gráficos, animações e demonstrações interativas; Fazer cálculos numéricos e simbólicos;
Em sua casa; Histórico e Características O que ele faz? Quem usa isso? Python em diversas escalas Já está lá e vc não sabia Serviços de internet; Sistemas operacionais; Programas e suas interfaces; Jogos; E você como professor/pesquisador ainda poderia... Fazer gráficos, animações e demonstrações interativas; Fazer cálculos numéricos e simbólicos;
Na palma da mão; Histórico e Características O que ele faz? Quem usa isso? Python em diversas escalas Como Python é portável, tudo que foi dito para sua casa, pode estar na palma de sua mão;
Para nós é isso que importa mais... Números e símbolos Gráficos e simulações
Mais alguns indicadores... Números e símbolos Gráficos e simulações The Astrostatistics and Astroinformatics Portal - Recomenda Python como uma ótima linguagem para abordar problemas astronômicos; Diversos pesquisadores tem substituído seus códigos em MatLab por Códigos Python (em particular para cálculos numéricos); Diversos livros sobre métodos numéricos e métodos de visualização usando Python vem sendo editados no últimos anos; Programação em Placas de Vídeo já pode ser implementada via Python; Hoje, existem mais de 2600 pacotes Python catalogados em Scientific/Engineering no PyPI
Mais alguns indicadores... Números e símbolos Gráficos e simulações The Astrostatistics and Astroinformatics Portal - Recomenda Python como uma ótima linguagem para abordar problemas astronômicos; Diversos pesquisadores tem substituído seus códigos em MatLab por Códigos Python (em particular para cálculos numéricos); Diversos livros sobre métodos numéricos e métodos de visualização usando Python vem sendo editados no últimos anos; Programação em Placas de Vídeo já pode ser implementada via Python; Hoje, existem mais de 2600 pacotes Python catalogados em Scientific/Engineering no PyPI
Mais alguns indicadores... Números e símbolos Gráficos e simulações The Astrostatistics and Astroinformatics Portal - Recomenda Python como uma ótima linguagem para abordar problemas astronômicos; Diversos pesquisadores tem substituído seus códigos em MatLab por Códigos Python (em particular para cálculos numéricos); Diversos livros sobre métodos numéricos e métodos de visualização usando Python vem sendo editados no últimos anos; Programação em Placas de Vídeo já pode ser implementada via Python; Hoje, existem mais de 2600 pacotes Python catalogados em Scientific/Engineering no PyPI
Mais alguns indicadores... Números e símbolos Gráficos e simulações The Astrostatistics and Astroinformatics Portal - Recomenda Python como uma ótima linguagem para abordar problemas astronômicos; Diversos pesquisadores tem substituído seus códigos em MatLab por Códigos Python (em particular para cálculos numéricos); Diversos livros sobre métodos numéricos e métodos de visualização usando Python vem sendo editados no últimos anos; Programação em Placas de Vídeo já pode ser implementada via Python; Hoje, existem mais de 2600 pacotes Python catalogados em Scientific/Engineering no PyPI
Números e símbolos Gráficos e simulações SymPy é um módulo Python para CAS (Computer Algebra System), concorre com wx/maxima, Mathematica, Maple, KAlgebra e outros. Com ele é possível realizar computação simbólica, numérica e gráfica (via dependências opcionais como MatPlotLib e PyGlet). Como é gratuito e todo escrito em Python, então é portável para qualquer plataforma que roda Python, i.e., incluindo smartphones e tablets diversos.
Números e símbolos Gráficos e simulações É um pacote escrito em Python e C++, que essencialmente turbina o Python para o uso em cálculo numérico. Muitos outros pacotes usam o NumPy para acelerar seus próprios processos, destacamos entre eles o pacote gráfico MatPlotLib; Pelo fato de não ser Python puro é raro encontrar o NumPy em dispositivos móveis;
Gráficos no Python Histórico e Características Números e símbolos Gráficos e simulações Usaremos principalmente o Site do projeto, http://matplotlib.org/ exemplos adicionais; http://matplotlib.org/gallery.html
Números e símbolos Gráficos e simulações Mayavi é um módulo Python para visualização 3D, incluindo animações. Tem dependências pesadas tal que só funciona em sistemas operacionais de PC s. Site do projeto, http://mayavi.sourceforge.net/ exemplos adicionais; http://docs.enthought.com/mayavi/mayavi/auto/examples.html
Mas antes, tem a instalação do Python agora sim... Primeiros Passos Linux - tipo Ubuntu No terminal, use os seguintes comandos para instalar... Dependências iniciais do Python: sudo apt-get update sudo apt-get install python-setuptools python-pip python-doc python-examples sudo apt-get install pychecker pylint pymetrics Python cientifico: sudo apt-get install python-pygame python-pyglet python-mpmath python-mpmath-doc sudo apt-get install python-numpy python-numpy-doc python-matplotlib python-matplotlib-doc sudo apt-get install python-scipy python-sympy mayavi2 IPython 0.13 e os editores sudo add-apt-repository ppa:jtaylor/ipython sudo apt-get update sudo apt-get install reinstall ipython ipython-notebook ipython-doc sudo apt-get install gedit gedit-plugins gedit-developer-plugins geany geany-plugins idle spyder Créditos para o prof. Roberto Colistete Jr. Mais informações acesse http://www.robertocolistete.net/icf/
Windows XP e 7 Histórico e Características Mas antes, tem a instalação do Python agora sim... Primeiros Passos Acesse http://www.robertocolistete.net/icf/, para o tutorial;
Windows 8 e Mac OS Histórico e Características Mas antes, tem a instalação do Python agora sim... Primeiros Passos Windows 7 e 8, use o http://code.google.com/p/pythonxy/
Mas antes, tem a instalação do Python agora sim... Primeiros Passos Hoje será rápido Script Python 1 Use qualquer editor de texto para editar o código Python e salve um arquivo tipo py; 2 Execute o arquivo py em um terminal usando o comando $python nome.do.seu.arquivo.py; Python terminal 1 Digite em um terminal linux o comando $python. 2 Agora é só digitar. 3 Para sair digite exit(). Esse terminal é bem limitado; IPython terminal 1 Digite em um terminal linux o comando $ipython. 2 Agora é só digitar. 3 Para sair digite [#]exit. Muito melhor que o outro...
Mas antes, tem a instalação do Python agora sim... Primeiros Passos Hoje será rápido Script Python 1 Use qualquer editor de texto para editar o código Python e salve um arquivo tipo py; 2 Execute o arquivo py em um terminal usando o comando $python nome.do.seu.arquivo.py; Python terminal 1 Digite em um terminal linux o comando $python. 2 Agora é só digitar. 3 Para sair digite exit(). Esse terminal é bem limitado; IPython terminal 1 Digite em um terminal linux o comando $ipython. 2 Agora é só digitar. 3 Para sair digite [#]exit. Muito melhor que o outro...
Mas antes, tem a instalação do Python agora sim... Primeiros Passos Hoje será rápido Script Python 1 Use qualquer editor de texto para editar o código Python e salve um arquivo tipo py; 2 Execute o arquivo py em um terminal usando o comando $python nome.do.seu.arquivo.py; Python terminal 1 Digite em um terminal linux o comando $python. 2 Agora é só digitar. 3 Para sair digite exit(). Esse terminal é bem limitado; IPython terminal 1 Digite em um terminal linux o comando $ipython. 2 Agora é só digitar. 3 Para sair digite [#]exit. Muito melhor que o outro...
Mas antes, tem a instalação do Python agora sim... Primeiros Passos IPython Notebook Esse aqui sim é profissional... 1 Digite em um terminal linux o comando $ipythonnotebook. Isso inicia uma instância para interação. 2 Inicie um novo notebook ou abra um que já está na pasta; 3 Continuamos na próxima aula...
Mas antes, tem a instalação do Python agora sim... Primeiros Passos IPython Notebook Esse aqui sim é profissional... 1 Digite em um terminal linux o comando $ipythonnotebook. Isso inicia uma instância para interação. 2 Inicie um novo notebook ou abra um que já está na pasta; 3 Continuamos na próxima aula...
Mas antes, tem a instalação do Python agora sim... Primeiros Passos IPython Notebook Esse aqui sim é profissional... 1 Digite em um terminal linux o comando $ipythonnotebook. Isso inicia uma instância para interação. 2 Inicie um novo notebook ou abra um que já está na pasta; 3 Continuamos na próxima aula...