Python é uma linguagem de programação fácil de aprender e poderosa, orientada a objetos com vasta biblioteca de classes e funções. O documento descreve características de Python, quem a usa, versões, como instalar, editores, conceitos básicos como variáveis, strings, listas, desvios condicionais e laços, além de módulos e exemplos de uso.
Se você não usa geradores, está deixando de aproveitar um recurso poderoso de Python. Partimos do pattern Iterator e mostramos seus usos práticos e suporte nativo na linguagem, incluindo funções e expressões geradoras, que permitem lidar com massas de dados muito grandes de modo eficiente e com baixo consumo de memória. Ao final, mostramos o uso prático de funções geradoras em uma ferramenta de conversão de bancos de dados.
Se você não usa geradores, está deixando de aproveitar um recurso poderoso de Python. Partimos do pattern Iterator e mostramos seus usos práticos e suporte nativo na linguagem, incluindo funções e expressões geradoras, que permitem lidar com massas de dados muito grandes de modo eficiente e com baixo consumo de memória. Ao final, mostramos o uso prático de funções geradoras em uma ferramenta de conversão de bancos de dados.
Minicurso de Django - Desenvolvimento ágil web com Django e PythonGuilherme Garcia
Minicurso de Django 1.10 com a criação de um projeto completo em Django e conteúdos sobre:
Introdução a Python, Autenticação de usuários Django, Relacionamentos de classes do Django. Templates, etc.
Esse material tem o objetivo de ser uma introdução as principais características da linguagem Python, tais como sintaxe básica, tipos de dados, operadores, estrutura condicional, estrutura de repetição e orientação a objetos. Após a introdução a linguagem, o Django é apresentado de maneira pratica, desenvolvendo um CRUD para exemplificar suas principais características e vantagens, esse CRUD é feito passo a passo e após seu termino é feito uma introdução básica aos recursos do Admin do Django.
Última aula do curso de Python, aqui mostramos de forma superficial como fazer a integração do Django com Adobe Flex, como utilizar o módulo do PagSeguro, PyGame e como integrar sua aplicação com o Apache
Design de código: princípios e práticas para ter um código sustentávelAndrews Medina
Escrever código é algo fácil o difícil é manter seu código limpo, legível por muito tempo sem transformá-lo em um código legado. Irei abordar várias práticas, princípios e padrões que nos ajudam a escrever e manter o código limpo.
Python não força o programador a pensar em objetos, mas eles fazem parte da linguagem desde o início, incluindo conceitos avançados como sobrecarga de operadores, herança múltipla e introspecção. Com sua sintaxe simples, é muito natural aprender orientação a objetos em Python
Resolução dos exercícios de Java Básico desenvolvidos para a turma do treinamento de Appium, apresentado para o pessoal da S2IT, tendo como objetivo fazer uma introdução à linguagem, apresentando conceitos básicos como arrays, condicionais, repetição, objetos.
Palestra sobre Javascript realizada no primeiro ciclo do Plano de Geração de Conhecimento realizado em outubro de 2013, no LEMAF - Universidade Federal de Lavras.
O Plano de geração de conhecimento é um trabalho realizado para tutoria de desenvolvedores com estagiários no estudo de tecnologias, com o objetivo de disseminação de conhecimento.
Palestra ministrada por Fernando Simeone, Carlos Eduardo Chessi Melo, Eduardo Assis da Silva e José Henrique Santos Andrade .
### Atualização 20/02/2015
Palestra melhorada, com algumas correções. Reapresentada por Fernando Simeone e Carlos Eduardo Chessi Melo na SETI (Semana de Tecnologia da Informação) na Universidade Federal de Lavras.
Apresentação introdutória sobre a MEAN Stack, contando com o desenvolvimento, passo-a-passo, de uma aplicação simples.
Apresentação para o JSDay Campina Grande.
Descrição introdutória de uma arquitetura para o desenvolvimento de aplicações web com funcionalidades offline.
Tecnologias envolvidas: HTML5, Javascript, Handlebards, etc.
Minicurso de Django - Desenvolvimento ágil web com Django e PythonGuilherme Garcia
Minicurso de Django 1.10 com a criação de um projeto completo em Django e conteúdos sobre:
Introdução a Python, Autenticação de usuários Django, Relacionamentos de classes do Django. Templates, etc.
Esse material tem o objetivo de ser uma introdução as principais características da linguagem Python, tais como sintaxe básica, tipos de dados, operadores, estrutura condicional, estrutura de repetição e orientação a objetos. Após a introdução a linguagem, o Django é apresentado de maneira pratica, desenvolvendo um CRUD para exemplificar suas principais características e vantagens, esse CRUD é feito passo a passo e após seu termino é feito uma introdução básica aos recursos do Admin do Django.
Última aula do curso de Python, aqui mostramos de forma superficial como fazer a integração do Django com Adobe Flex, como utilizar o módulo do PagSeguro, PyGame e como integrar sua aplicação com o Apache
Design de código: princípios e práticas para ter um código sustentávelAndrews Medina
Escrever código é algo fácil o difícil é manter seu código limpo, legível por muito tempo sem transformá-lo em um código legado. Irei abordar várias práticas, princípios e padrões que nos ajudam a escrever e manter o código limpo.
Python não força o programador a pensar em objetos, mas eles fazem parte da linguagem desde o início, incluindo conceitos avançados como sobrecarga de operadores, herança múltipla e introspecção. Com sua sintaxe simples, é muito natural aprender orientação a objetos em Python
Resolução dos exercícios de Java Básico desenvolvidos para a turma do treinamento de Appium, apresentado para o pessoal da S2IT, tendo como objetivo fazer uma introdução à linguagem, apresentando conceitos básicos como arrays, condicionais, repetição, objetos.
Palestra sobre Javascript realizada no primeiro ciclo do Plano de Geração de Conhecimento realizado em outubro de 2013, no LEMAF - Universidade Federal de Lavras.
O Plano de geração de conhecimento é um trabalho realizado para tutoria de desenvolvedores com estagiários no estudo de tecnologias, com o objetivo de disseminação de conhecimento.
Palestra ministrada por Fernando Simeone, Carlos Eduardo Chessi Melo, Eduardo Assis da Silva e José Henrique Santos Andrade .
### Atualização 20/02/2015
Palestra melhorada, com algumas correções. Reapresentada por Fernando Simeone e Carlos Eduardo Chessi Melo na SETI (Semana de Tecnologia da Informação) na Universidade Federal de Lavras.
Apresentação introdutória sobre a MEAN Stack, contando com o desenvolvimento, passo-a-passo, de uma aplicação simples.
Apresentação para o JSDay Campina Grande.
Descrição introdutória de uma arquitetura para o desenvolvimento de aplicações web com funcionalidades offline.
Tecnologias envolvidas: HTML5, Javascript, Handlebards, etc.
O tema aborda a intereção entre Python e PostgreSQL.
É uma introdução de Python para profissionais PostgreSQL, além de diversos exemplos de códigos Python interagindo com o banco e também a linguagem procedural PL/Python.
Há demonstrações de vários pontos em comum e equivalências entre ambos.
Apresentação (palestra) feita no PGBR 2015 (19/11), em Porto Alegre, na UniRitter.
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
Apresentação utilizada na palestra realizada no dia 08/10/2014 na faculdade Meta, contendo uma introdução sobre a linguagem de programação Python, suas aplicações, empresas que utilizam e exemplos de uso aplicado a algumas situações, mostrando o potencial desta linguagem, que vai desde o acesso a bancos de dados, geração de sites, aplicações desktop e web multiplataformas (windows, linux, freebsd, MacOS), web, mineração de dados, inteligência artificial, até o desenvolvimento de aplicações mobile (android, iOS).
Os videos com o curso completo podem ser encontrados em: https://osantana.me/curso-de-python-e-django
Tudo sobre Python, Django, carreira e empreendedorismo na minha newsletter quinzenal "O Melhor da Internet". ASSINE:
https://osantana.me/o-melhor-da-internet-newsletter/
Houve um salto da quarta aula para a nona entre as duas o que houve foram exercícios e revisão
Na nona aula do nosso projeto vamos começar a aprender a utilizar o python e implementar alguns algoritmos mais interessantes!!!
2. Introdução
• Python é uma linguagem de
programação fácil de aprender e
poderosa;
• É orientada a objetos;
• Possui uma vasta biblioteca de classes e
funções prontas;
• Python já vem com as pilhas !
3. Introdução
• Um dos princípios de Python é que
seus programas sejam fáceis de ler, ou
seja, nada de chaves, ponto-e-vírgula,
begin, end, etc.
• Além da sua vasta biblioteca, a
linguagem Python pode ser estendida
através novas funções escritas em
Python, C, C++, Java, C#, etc.
4. Quem usa Python ?
• Google - Aplicações Web;
• Yahoo - Aplicações Web;
• Microsoft - IronPython (Python
para .NET);
• Nokia - Python S60 (Python para
celulares);
• Disney - Usa para fazer animações 3D.
5. Versões de Python
• Versão oficial, mantida pela PSF
(Python Software Foundation):
• http://www.python.org
• Python para .NET: IronPython;
• Python para Java: Jython;
• Python em Python (?!): PyPy.
6. Instalando Python
• Os sistemas operacionais Linux e
MacOS já vêm com um interpretador de
Python instalado;
• No Windows é necessário instalar;
• Existem vários interpretadores de
Python disponíveis, o oficial é grátis e
está disponível no endereço:
• http://www.python.org
13. PyDev
• O PyDev é um ambiente de
desenvolvimento integrado para Python
feito sobre a plataforma Eclipse;
• Alguns dos recursos do PyDev são:
• Completar automaticamente;
• Colorir o código;
• Depurador;
• etc.
15. Como instalar
• Existem duas formas:
• Instalação pelo mecanismo de
atualização do Eclipse (instalação
rápida);
• Baixar o pacote completo e
descompactar na pasta “dropins” do
Eclipse.
36. Autoconfig não funcionou
• Se o autoconfig não funcionar você vai:
• Clicar no botão “New”;
• Seleciona o arquivo python.exe
instalado no seu computador
(normalmente este arquivo fica na
pasta C:Python26python.exe);
• Clicar no botão “Ok”.
37. Novo Projeto
Digite o nome do projeto: “Aula1”
1
Clique em “Finish”
2
39. Criando um módulo
• Clique na seta ( ) localizada no lado
esquerdo do projeto para exibir o seu
conteúdo;
• Na pasta “ ” (onde estarão
armazenados os artefator Python)
clique com o botão direito do mouse;
• Selecione a opção “New -> PyDev
Module” ( )
40. Novo módulo
Digite o nome do módulo: “aula1”
1
Clique em “Finish”
2
42. Hello World
• Para variar, vamos fazer um “Hello World”
• Digite no seu módulo a linha:
• print 'Hello World !'
• Com o botão direito do mouse, clique sobre
o seu módulo e selecione a opção “Run As -
> Python Run”;
• No console você verá:
• Hello World !
44. Variáveis
• Variáveis armazenam valores;
• Declarando variáveis:
• nome = valor
• nome1, nome2 = valor1, valor2
• Variáveis podem ser declaradas em qualquer
ponto do código;
• Variáveis precisam ser declaradas/
inicializadas antes de serem utilizadas.
45. Linguagens podem ser:
• Estaticamente tipadas:
• Os tipos são fixados em tempo de compilação;
• Dinamicamente tipadas:
• Os tipos são descobertos em tempo de
execução;
• Fortemente tipadas:
• Os tipos são assegurados;
• Fracamente tipadas:
• Os tipos não importam muito.
46. Python é:
• Ao mesmo tempo:
• Dinamicamente tipada:
• As variáveis são declaradas sem um
tipo;
• O seu tipo é estabelecido na
inicialização;
• Fortemente tipada:
• Após a inicialização, o tipo da variável
importa.
47. Por exemplo:
#Exemplo errado
valor = ‘123’
valor += 4
TypeError: cannot concatenate 'str' and 'int' objects
#Exemplo correto
valor = ‘123’
valor += str(4)
48. Exibindo valores na tela
• print valor
• Ou
• print valor1, valor2, ..., valorN
• É só isso mesmo :)
49. Exemplo
• Usando Python como calculadora:
• print (2 + 2) * 4 / 8
• Você pode usar o console interativo
para fazer os seus testes:
50. Lendo Valores do Teclado
• valor = raw_input( )
• nome = raw_input(“Digite seu nome: “)
51. Exemplo
• Brinque um pouco com os conceitos
aprendidos até agora:
nome = raw_input('Digite o seu nome:')
print 'Bom dia', nome, 'como vai ?'
52. • ATENÇÃO !!!
• Normalmente os interpretadores Python apenas
aceitam que o código seja composto apenas por
caracteres ASCII (ou seja, nada de acentos) !
• Porém, é possível mudar a codificação do texto
aceita;
• No início de um módulo, basta colocar a linha:
Diretiva de pré-processador
• # -*- coding: latin-1 -*-
• Onde latin-1 é a codificação do Português do
Brasil.
55. Strings
• Convertendo para maiúsculas:
• nome.upper( )
• Convertendo para minúsculas:
• nome.lower( )
• Primeiras letras maiúsculas:
• nome.title( )
• Encontrar ocorrência:
• nome.find(‘Ga’) #Retorna 6
56. Strings
• Strings podem ser definidos com aspas simples
(‘) ou aspas duplas (“);
• Também é possível definir Strings de múltiplas
linhas usando aspas triplas (‘’’) ou (“””);
• Ex:
nomes = ‘’‘Joao
Maria
Jose’’’
57. Dicas
• Para descobrir quais são as funções/
métodos de um objeto digite:
• dir (objeto) - exemplo: dir (lista)
• Para obter maiores informações sobre
funções/métodos/objetos digite:
• help (função) - exemplo: dir (str)
Façam o teste !
58. Listas
• Declarando:
• lista = [ ]
• lista = [‘banana’, ‘pera’, ‘tomate’]
• Adicionando:
• lista.append(‘jaboticaba’)
• lista + [‘jaboticaba’]
• Acessando:
• lista[2] # retorna ‘pera’
59. Listas
• Removendo:
• lista.remove(“banana”)
• lista.pop( )
• lista.pop(2)
• Testando:
• “pitanga” in lista
62. Função range
• Retorna uma lista, contendo os valores de um
intervalo;
• Ex:
• range(10) - retorna os números de 0 a 9;
• range(2, 100) - retorna os números de 2 a 99;
• range(10, 0, -1) - retorna os números de 10 a
0 com incremento de -1.
63. Desvios Condicionais
• if condicao:
• código se a condição for verdadeira
• else:
• código se a condição for falsa
64. Desvios Condicionais
• if condicao1:
• código caso a condição 1 for verdadeira
• elif condicao2:
• código caso a condição 2 for verdadeira
• elif condicao3:
• código caso a condição 3 for verdadeira
• else:
• código caso nenhuma das condições for
verdadeira
65. Indentação de Código
• Atenção !!!
• A primeira linha de um bloco define a
indentação das linhas restantes;
• Portanto, a quantidade de espaços/
tabs devem ser mantidas;
• Cuidado para não confundir espaços
por tabs e vice-versa.
66. Exemplo
Testem executar com e sem esta linha !
# -*- coding: latin-1 -*-
nome = raw_input('Digite o seu nome:')
ano = int(raw_input('Em que ano você nasceu ?'))
idade = 2010 - ano
if idade < 18:
print nome, 'é menor de idade'
else:
print nome, 'é maior de idade'
67. Laços
• for - percorre os elementos de uma lista/
tupla;
• Exemplo:
• pessoas = [‘joao’, ‘maria’, ‘ana’, ‘pedro’]
• for pessoa in pessoas:
• print pessoa
68. Função enumerate
• enumerate(lista) - retorna uma lista de
tuplas (indice, valor) para cada um dos
elementos da lista;
• Exemplo:
• for indice, fruta in enumerate(frutas):
• print indice, fruta
69. Desafio
• Faça um programa que leia nomes do teclado até que seja
digitada a palavra ‘sair’;
• Os nomes deverão ser armazenados em uma lista;
• O programa deverá exibir todos os nomes digitados, um por
linha, no formato:
• índice nome
• Ex:
• 1 josé
• 2 maria
• 3 pedro
74. Função open
• A função open possui dois parâmetros;
• O primeiro é o nome do arquivo a ser
aberto;
• O segundo é o modo:
• r - modo read (leitura) - modo padrão;
• w - modo write (escrita);
• a - modo append (adiciona conteúdo ao
final do arquivo).
75. Desafio
• Faça um programa que leia nomes do
teclado até que seja digitada a palavra
‘sair’;
• Os nomes deverão ser armazenados em
um arquivo de texto.
76. Biblioteca de módulos
• Python vem com vários módulos cheios
de funções prontas para serem usadas;
• Para usar um destes módulos é
necessário antes importá-lo:
• import nome_do_módulo
• Exemplo:
• import os
77. Módulos
• Módulos são compostos por classes e
funções;
• É possível importar apenas uma classe ou
função específica de um módulo, ao invés
de importar o módulo todo:
• from modulo import entidade
• Ex:
• from datetime import date
78. Alguns módulos
• os - Funções do sistema operacional;
• datetime - Funções de data e hora;
• math - Funções matemáticas;
• random - Geração de números
aleatórios;
• urllib2 - Acesso a internet;
• smtplib - Envio de emails.
79. Exibindo a data atual
import datetime
#Mostrando a data atual
print datetime.date.today()
80. Exibindo a data atual 2
from datetime import date
#Mostrando a data atual
print date.today()