Este é um mini-curso básico de Python. Já foi aplicado na Semana de tecnologia de Universidade Católica e no encontro de tecnologia de Especializa (ZCon).
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/
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/
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.
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.
Telas -- bastante baseadas nas do Álvaro (http://alvarojusten.blogspot.com/) -- utilizadas no minicurso de Python realizado na PythOnCampus do dia 6 de junho de 2009, na UVA de Cabo Frio.
(2013-05-20) [DevInSampa] AudioLazy - DSP expressivo e em tempo real para o P...Danilo J. S. Bellini
Slides da apresentação no DevInSampa 2013 (18 de maio), com algumas complementações e correções. Esses mesmos slides foram utilizados na apresentação feita no fisl 2014 (2013-07-05).
Apresentando a Linguagem de Programação PythonPriscila Mayumi
Slides para apresentação da linguagem Python. Trabalho para a matéria "Novas Tecnologias" na Universidade Metodista de São Paulo. Lembrando que eu tive que estudar muito sobre, pois nunca tive um contato "suficiente" com Python.
Apresentação de slides do minicurso de Giancarlo Lima da Silva sobre Algoritmos com a linguagem Python, ministrado durante o EPOCA' 2011, no IFRN (Campus Natal-Central)
www.grupoweblovers.org
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.
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.
Telas -- bastante baseadas nas do Álvaro (http://alvarojusten.blogspot.com/) -- utilizadas no minicurso de Python realizado na PythOnCampus do dia 6 de junho de 2009, na UVA de Cabo Frio.
(2013-05-20) [DevInSampa] AudioLazy - DSP expressivo e em tempo real para o P...Danilo J. S. Bellini
Slides da apresentação no DevInSampa 2013 (18 de maio), com algumas complementações e correções. Esses mesmos slides foram utilizados na apresentação feita no fisl 2014 (2013-07-05).
Apresentando a Linguagem de Programação PythonPriscila Mayumi
Slides para apresentação da linguagem Python. Trabalho para a matéria "Novas Tecnologias" na Universidade Metodista de São Paulo. Lembrando que eu tive que estudar muito sobre, pois nunca tive um contato "suficiente" com Python.
Apresentação de slides do minicurso de Giancarlo Lima da Silva sobre Algoritmos com a linguagem Python, ministrado durante o EPOCA' 2011, no IFRN (Campus Natal-Central)
www.grupoweblovers.org
Apresentação da palestra realizada na Conferência Brasileira de PostgreSQL - PGBR em 2013 na cidade de Porto Velho - Rondônia - Brasil, que apresenta a integração da Linguagem Python com o banco de dados PostgreSQL usando psycopg2.
Palestra na semana global do empreendedorismo na Plug and work
https://eventioz.com.br/e/desenvolvendo-prototipos-de-startups-em-python
Esta palestra tem a proposta de apresentar a linguagem Python como solução para o desenvolvimento de protótipos e MVP para startups. Mostrar como empreendedores podem desenvolver seus próprios protótipos sem dependender da contratação de desenvolvedores profissionais e ter seu MVP funcionando em poucos dias com a ajuda de Python e seus web frameworks.
Desenvolvendo web crawler/scraper com PythonRoselma Mendes
Fala um pouco de algumas bibliotecas em Python para o desenvolvimento de um web crawler ou scraper.
------
Cover some Python libraries for development of web crawler or scraper.
Milhões de pessoas no mundo usam redes sociais para conectar-se com amigos e compartilhar fotos, localização e outros dados. Esses dados compõem vestígios do que as pessoas fazem e podem fornecer informações valiosas sobre como se comportam. O Python é uma linguagem de programação de sintaxe simples mas muito poderosa.
Nesta palestra será apresentada uma visão de como coletar e analisar dados de redes sociais, como Twitter, com Python.
Básico do básico do Python, sem nem entrar em orientação a objetos.
A imagem sobre slices foi extraída do livro "Python para Desenvolvedores", que pode ser obtido aqui:
http://ark4n.wordpress.com/python/
Alguns exemplos também foram retirados desse livro, outros do tutorial oficial de Python.
Eu investi algum tempo fazendo um material de apoio para o livro Python para Desenvolvedores</a>, do Luis Eduardo Borges. É um conjunto de slides para o capitulo I.
Palestra introdutória que visa mostrar a abrangência da Linguagem de Programação Python em diversas áreas, Web, dispositivos portáteis, Cloud Computing e muitas outras. As vantagens da adoção da linguagens e suas características fundamentais, o comunidade e a mercado de trabalho que fazem parte do Ecossistema Python.
Rust é uma linguagem estremamente rápida que não tem runtime, portanto pode ser integrada a qualquer outro runtime. Descubra como é fácil estender Python com Rust!
Python é uma linguagem de programação de altíssimo nível.
Fácil de aprender, fácil de dar manutenção, direta e objetiva.
Escreva menos pra se fazer mais :D
Material de evangelização ;)
Slides Lição 9, Central Gospel, As Bodas Do Cordeiro, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 9, Central Gospel, As Bodas Do Cordeiro, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
proposta curricular para educação de jovens e adultos- Língua portuguesa- anos finais do ensino fundamental (6º ao 9º ano). Planejamento de unidades letivas para professores da EJA da disciplina língua portuguesa- pode ser trabalhado nos dois segmentos - proposta para trabalhar com alunos da EJA com a disciplina língua portuguesa.Sugestão de proposta curricular da disciplina português para turmas de educação de jovens e adultos - ensino fundamental. A proposta curricular da EJa lingua portuguesa traz sugestões para professores dos anos finais (6º ao 9º ano), sabendo que essa modalidade deve ser trabalhada com metodologias diversificadas para que o aluno não desista de estudar.
Projeto de articulação curricular:
"aLeR+ o Ambiente - Os animais são nossos amigos" - Seleção de poemas da obra «Bicho em perigo», de Maria Teresa Maia Gonzalez
Atividade - Letra da música "Tem Que Sorrir" - Jorge e MateusMary Alvarenga
A música 'Tem Que Sorrir', da dupla sertaneja Jorge & Mateus, é um apelo à reflexão sobre a simplicidade e a importância dos sentimentos positivos na vida. A letra transmite uma mensagem de superação, esperança e otimismo. Ela destaca a importância de enfrentar as adversidades da vida com um sorriso no rosto, mesmo quando a jornada é difícil.
regulamento de uniformes do colegio da policia militar do estado do tocantins regulamento de uniformes do colegio da policia militar do estado do tocantins regulamento de uniformes do colegio da policia militar do estado do tocantins regulamento de uniformes do colegio da policia militar do estado do tocantins regulamento de uniformes do colegio da policia militar do estado do tocantins regulamento de uniformes do colegio da policia militar do estado do tocantins regulamento de uniformes do colegio da policia militar do estado do tocantins
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24, Pr Henrique, EBD NA TV, 2° TRIMESTRE DE 2024, ADULTOS, EDITORA BETEL, TEMA, ORDENANÇAS BÍBLICAS, Doutrina Fundamentais Imperativas aos Cristãos para uma vida bem-sucedida e de Comunhão com DEUS, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Comentários, Bispo Abner Ferreira, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
2. Quem sou eu!?Quem sou eu!?
Engenheiro da Computação – UFPE(2008)
Especialista em Python e Verilog
Usuário Linux desde 2004
Membro admistrador do CinLUG
“Instrutor” de Python pela Especializa
Entusiasta de software livre
Trabalho num projeto para o Governo Federal
3. O que é Python?O que é Python?
Linguagem de alto nível de abstração
Criada por Guido van Rossum em 1991
Linguagem multiparadigma
Orientada a Objetos
Estrutural
Funcional
Possui sintaxe simples e clara
Tipagem forte e dinâmica
4. O que é Python?O que é Python?
Multiplataforma
Interpretada (bytecodes)
Possui ambiente interativo
Biblioteca padrão muito rica
Ótima integração com Linux
Facilmente extensível (C/C++, Java, .NET)
Gnu Public License
8. Python é usado em muitos outrosPython é usado em muitos outros
lugareslugareswww.brasil.gov.br
9. No BrasilNo Brasil
Câmara dos deputados
Presidência da República
Carta na Escola
SEBRAE
CertiSign
SERPRO
INdT
Universidade Metodista
UNESCO Brasil
OAB/SP
Varig
Politec
10. Por que usar Python?Por que usar Python?
Segundo Guido Van Rossum em[4]
Tempo de desenvolvimento reduzido
2 a 10 vezes menor que C/C++ e Java
Código extremamente legível
Pouco treinamento
Linguagem muito simples de aprender
Segundo minhas experiências e pesquisas
Fácil de estender C/C++, Java e .NET
Ótimo para manipulação de Strings
11. Por que usar Python?Por que usar Python?
Muito bom para programação WEB
Integração harmoniosa com o Linux
Biblioteca para as mais variadas áreas
Máquina virtual pequena (Download rápido)
Poderosa (multiparadigma)
O programador vai direto ao ponto. Foca no
problema e não:
Na alocação de memória
Tipo de variáveis
...
12. Por que não usar Python?Por que não usar Python?
IDEs free não muito completas
Desempenho relativamente baixo
Necessidade de bom senso, liberdade ao
extremo
13. O que pode ser feito com Python?O que pode ser feito com Python?
““Basicamente”Basicamente” tudo que pode ser feito em:
Java
C/C++
Haskell
PHP
GUI, Cálculo numérico, Banco de dados, Jogos,
WEB, Mobile, Computação gráfica, ...
14. Python bibliotecasPython bibliotecas
Numpy (c culo num rico)á é
Elixir + SQLAchemy (banco de dados)
Multiprocessing (multiprocessamento)
Pyre (computa o high performance)çã
Pyro (remote objects)
PyS60 (mobile)
PyGame (jogos)
PyUnit (testes unit rios)á
15. Versões de PythonVersões de Python
Cython e Pyrex
Integração com C/C++ (High performance!!!)(High performance!!!)
Jython
Integração com o ambiente Java
IronPython
Integração com o ambiente .NET
16. Caminho para o básicoCaminho para o básico
Shell
Hello World!
Code design
Números
Iteráveis
String
Tuplas
Lista
Dicionários
Entrada e saída
open
print
Expressões
Comandos básicos
Funções
Exceções
Exercícios
17. Shell PythonShell Python
Python possui um shell interativo onde pode-se
executar comandos on-the-fly
Basta executar
$>python
Introspeção e reflexão (são propriedades de sistemas orientados a
objetos que qualificam a existência de mecanismos para descobrir e alterar, em tempo de
execução, informações estruturais sobre um programa e objetos existentes neste)
dir(objeto)
help(objeto)
19. Code designCode design
︅
Nada de ';' no fim das linhas
︅
Nada de '{' e '}' para delimitar blocos
︅
Nada de declarações de tipo de variáveis
︅
Identar é obrigatório!
︅
Padrão de codificação para a linguagem (PEP8)
︅
Códigos mais limpos e organizados!Códigos mais limpos e organizados!
29. DicionáriosDicionários
Tabela hash como tipo primitivo de Python
Acesso mais rápido
“Lista de referências”
Heterogêneo
Mutável
Associações chave <-> valor
30. Dicionários(2)Dicionários(2)
︅
Construção
→ D = {'te':2,6:3.45}
→ E = dict([(1,2),
(3,'texto')])
→ print E
“{1:2, 3:'texto'}”
︅
Acesso
→ D['te']
2
→ E[3]
'texto'
→ del D[6]
→ print D
“{'te':2}”
32. EntradaEntrada
︅
Texto
→ res =
input('pergunta')
→ st =
raw_input('Pergunta
')
︅
Exemplo
→ um_mais_um =
input('digite 1+1')
→ print um_mais_um
2
→ nome =
raw_input(“seu
nome”)
→ print nome
→ ...
︅
Arquivo
→ f =
open('path','modo')
→ open.read()
→ open.readlines()
→ ...
33. SaídaSaída
︅
Função print
praticamente igual ao
printf de C
→ print “nome”
'nome'
→ print “%s:%d” %
(“Idade”,25)
'Idade:25'
︅
Procure na quick ref mais
detalhes
︅
Escrita em arquivo
→ f =
open(“path”,'modo')
→ f.write()
︅
Ou
→ f.writelines(lista)
→ ...
35. ComandosComandos
︅
IF .. ELIF .. ELSE ︅
Mini - if
if exp:
<comandos>
elif exp2:
<comandos>
else:
<comandos>
var = ret1 if exp else ret2
var = exp and ret1 or ret2
37. FunçõesFunções
Todas polimórficas
Não dá suporte a sobrecarga de método ou
função
Não é precisa declarar o retorno
Podem ter parâmetros:
Número arbitrário
Keywords
Número arbitrário de keywords
Permite valores default
40. Dicas para exercícioDicas para exercício
︅
Para executar um código
feito em python basta
executar o comando
→ python meu_mod.py
︅
Todo código fonte Python
tem a extensão .py
︅
A função main de Python
if __name__ == '__main__':
<comandos>
41. Mais dicas para o exercícioMais dicas para o exercício
︅
Um código exemplo feito Python seria
def func(a,b):
return a + b
if __name__ == '__main__':
print func(10,30)
42. Exercícios 1Exercícios 1
︅
Desenvolva uma calculadora com as seguinte
operações:
→ Soma
→ Subtração
→ Multiplicação
→ Divisão
︅
O usuário tem que digitar os valores na linha de
comando.
43. Exercício 2Exercício 2
︅
Copie o primeiro parágrafo da página no link abaixo
para um arquivo chamado python_wiki.txt.
Recupere o texto do arquivo e conte quantas
vogais, quantas palavras que iniciam com p e
quantas palavras 'python' existem. Armazene o
resultado num arquivo com o seguinte formato:
→ http://en.wikipedia.org/wiki/Python_programm
ing_language
Contador mini-curso python!
Site: link do site
Vogais: qtd
Palavras iniciadas com p: qtd
Python: qtd
44. Importando módulosImportando módulos
︅
Básico
︅
︅
︅
Importando de...
︅
︅
︅
Importando tudo de um módulo
import modulo
import modules.sub_modulo as novo_nome
from modulo import algo
from modules.sub_modulo import Algo
from modules.sub_modulo import Algo as AL
from modulo import *
from modules.sub_modulo.sub_sub_modulo import *
45. SocketSocket
︅
Comunicação via rede entre Cliente <> Servidor
︅
︅
Cliente
import socket
HOST = '' # Symbolic name meaning the local host
PORT = 50007 # Arbitrary non-privileged port
sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))
print "from server:", sock.recv(1024)
sock.send("Sim")
46. Socket(2)Socket(2)
︅
Servidor
import socket
HOST = '' # Symbolic name meaning the local host
PORT = 50007 # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((HOST, PORT))
s.listen(1)
print "Waiting for connections..."
conn, addr = s.accept()
print 'Connected by', addr
conn.send("Alguem aih?")
print "from cliente:", conn.recv(1024)
47. ThreadsThreads
︅
Divisões internas de esforço em um processo
︅
Várias tarefas ao mesmo tempo
︅
import threading
def func(c):
<comandos>
th = threading.Thread(target=func, args=func_args)
th.start()
48. Threads(2)Threads(2)
︅
Exemplo
import threading
from time import sleep
from random import random
def func(c):
for i in range(10):
t = random()
print c
sleep(t)
th1 = threading.Thread(target=func, args=("th1 -----",))
th2 = threading.Thread(target=func, args=("th2 =====",))
th3 = threading.Thread(target=func, args=("th3 #####",))
th1.start()
th2.start()
th3.start()
49. Threads(3)Threads(3)
import threading
from time import sleep
from random import random
#Algo místico!
def threaded(func):
def proxy(*args, **kwargs):
th = threading.Thread(target=func, args=args, kwargs=kwargs)
th.start()
return th
return proxy
@threaded
def func(c):
for i in range(10):
t = random()
print c
sleep(t)
func("th1 -----")
func("th2 =====")
func("th3 #####")
50. PersistPersistêênciancia
Armazenamento "eterno" de dados [wikipédia]
Os arquivos passam a ser armazenados em
memórias não voláteis
Quando um aplicativo é fechado, se tivermos
não tivermos nada persistido, tudo será perdido
Python tem várias soluções
Escrita em arquivo tradicional
Shelve
Banco de dados
...
51. PersistPersistêência(2)ncia(2)
import shelve
d = shelve.open("nossodb",writeback=True)
print "store Teste de string"
d["i1"] = "Teste de string"
print "store 10L"
d["i2"] = 10L
print "store 3.225567"
d["i3"] = 3.225567
d.close()
import shelve
d = shelve.open("nossodb",writeback=True)
print "load", d["i1"]
print "load", d["i2"]
print "load", d["i3"]
d.close()