Your SlideShare is downloading. ×
Introdução à Python - Módulo 1
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Introdução à Python - Módulo 1

226
views

Published on

Introdução à Python - Módulo 1 - II JTIMS - Mini curso

Introdução à Python - Módulo 1 - II JTIMS - Mini curso

Published in: Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
226
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. M1 Introdução à Python 3 Minicurso de Introdução a linguagem de programação Python. II JTIMS - Jornada de Tecnologias da Informação de Mato Grosso do Sul
  • 2. Hello World! Jhonathan Paulo Banczek. Ciência da Computação jhoonb.com
  • 3. CONTEÚDO PROGRAMÁTICO Dividido em Módulos: Módulo 1; (Primeira Aula). Módulo 2; (Segunda Aula). Módulo 3; (Terceira Aula).
  • 4. CONTEÚDO PROGRAMÁTICO Os módulos e arquivos usados, serão disponíveis no site após o termino de cada aula, url: jhoonb.com/courses
  • 5. CONTEÚDO PROGRAMÁTICO Módulo 1: ❏ ❏ ❏ ❏ ❏ Histórico e Uma Introdução sobre Python. ❏ Porque usar Python? ❏ Quem usa? ❏ Onde posso usar Python? ❏ The Zen of Python. Linguagem Interpretada. Python 3. Instalando Python 3 (Linux, Windows). Palavras Reservadas.
  • 6. CONTEÚDO PROGRAMÁTICO Módulo 1: ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ Operadores. ❏ Relacionais, Lógicos, Aritméticos, Bit a Bit, Precedência das operações. Delimitadores. Tipos de Dados. Built-in Functions Python como uma calculadora. ( Exemplos… ) Declarando Variáveis. Estruturas Condicionais e de Repetição. (Exemplos...) Exercícios.
  • 7. CONTEÚDO PROGRAMÁTICO Módulo 2: 1. Funções. a. Definindo, parâmetros, variável global, multíplos retornos 2. Paradigmas de Programação. a. Exemplo de POO. b. Programação Funcional, List comprehension 3. Tipo de Dados (métodos). a. list, dic, str, tuple 4. Exemplos. 5. Exercícios.
  • 8. CONTEÚDO PROGRAMÁTICO Módulo 3: 1. Manipulação de Arquivos. a. leitura, gravação, métodos. 2. Exemplos. 3. Exercícios. 4. Módulos. 5. Apresentando a Standard Library do Python. 6. Mais conteúdo. 7. Referências.
  • 9. MÓDULO 1: Histórico e Uma Introdução sobre Python. O que é Python? Python é uma linguagem de programação de propósito geral, de alto nível, interpretada, multiparadigma, de tipagem dinâmica e forte.
  • 10. MÓDULO 1: Histórico e Uma Introdução sobre Python. Lançada em 1991 por Guido van Rossum
  • 11. MÓDULO 1: Histórico e Uma Introdução sobre Python. Guido estava entediado durante o período de férias perto do natal e resolveu criar um interpretador pra nova linguagem de script que ele estava
  • 12. MÓDULO 1: Histórico e Uma Introdução sobre Python. desenvolvendo… Começou a escrever códigos em seu computador pessoal, logo mais ele batizou a linguagem com o nome de Python, em homenagem ao grupo humorístico Monty Python
  • 13. MÓDULO 1: Histórico e Uma Introdução sobre Python. Guido na Google:
  • 14. MÓDULO 1: Histórico e Uma Introdução sobre Python. Guido na Dropbox:
  • 15. MÓDULO 1: Histórico e Uma Introdução sobre Python. Em 1999, Guido enviou uma proposta de financiamento pro DARPA, chamado "Computer Programming for Everybody" e definiu os objetivos da linguagem:
  • 16. MÓDULO 1: Histórico e Uma Introdução sobre Python. ❏ uma linguagem fácil e intuitiva enquanto que ainda sendo tão poderosa quanto as maiores competidoras; ❏ Código aberto, para que qualquer um possa contribuir para o desenvolvimento; ❏ código que fosse tão inteligível quanto inglês; ❏ adequada para tarefas diárias, permitindo um tempo de desenvolvimento mais curto;
  • 17. MÓDULO 1: Histórico e Uma Introdução sobre Python. Guido van Rossum: Benevolent Dictator for Life (BDFL) (Ditador Benevolente Vitalício)
  • 18. MÓDULO 1: Histórico e Uma Introdução sobre Python. Porque usar Python? ● Linguagem muito parecida com pseudo-código executável; ● O uso de indentação para marcar blocos; (controverso) ● Coletor de lixo para gerenciar automaticamente o uso da memória; ● Fácil de escrever e ler. ● Programar se torna divertido e não tedioso. ● Standard Library extremamente poderosa. ● Comunidade produtiva, amigável e ativa!
  • 19. MÓDULO 1: Histórico e Uma Introdução sobre Python. Porque usar Python? Preocupe-se com a Lógica e o problema em si o resto Python faz por você Em outras linguagens PERDEMOS muito tempo tentando entender como escrever o código(ponteiros, alocação de memória, estrutura de dados...).
  • 20. MÓDULO 1: Histórico e Uma Introdução sobre Python. Porque usar Python? Preocupe-se com a Lógica e o problema em si o resto Python faz por você Para muito dos nossos problemas no dia a dia isso é POUCO necessário. É claro, existem casos específicos.
  • 21. MÓDULO 1: Histórico e Uma Introdução sobre Python. Quem usa Python? Google, Dropbox, Youtube, NASA, CERN, CBPF, MIT, Linux, Canonical, CERPRO, IBM, Globo, Sun, Zope, Redhat, Lucas Films … Aplicações Conhecidas: Maya, Blender, Youtube, Globo.com, Django, etc.
  • 22. MÓDULO 1: Histórico e Uma Introdução sobre Python. Onde posso usar Python? Qualquer lugar ;) Game and 3D Graphics, Software Development, Network Programming, Education, Scientific and Numeric, Desktop GUIs, Database Access, Web and Internet Development.
  • 23. MÓDULO 1: Histórico e Uma Introdução sobre Python. THE ZEN OF PYTHON by Tim Peters >>> import this
  • 24. MÓDULO 1: Histórico e Uma Introdução sobre Python. THE ZEN OF PYTHON by Tim Peters ❏ ❏ ❏ ❏ ❏ ❏ Bonito é melhor que feio. Legibilidade conta. Casos especiais não são especiais o bastante para se quebrar as regras. Embora a simplicidade supere o purismo. Deveria haver uma – e preferencialmente apenas uma – maneira óbvia de se fazer isto. Se a implementação é difícil de explicar, é uma má idéia.
  • 25. MÓDULO 1: Linguagem Interpretada. Python é uma linguagem interpretada, isso quer dizer que o código fonte (.py) é lido linha a linha pelo programa interpretador, gera-se o bytecode pelo compilador (.pyc) e então executado pela VM de Python.
  • 26. MÓDULO 1: Linguagem Interpretada. A linguagem é de altíssimo nível, mas ela também pode compilar seus programas para que a próxima vez que o executar não precise compilar novamente o programa. .pyc: .py compilado .pyo: .py otimizado e compilado
  • 27. MÓDULO 1: Linguagem Interpretada. Interpretado é mais lento que compilado… logo Python, é lento? Ruim? Não presta? Para a maioria dos nossos problemas ela é suficiente ou até melhor :) Python é uma das linguagens interpretadas mais rápida e poderosa que existe. (PS: Eu não esqueci de Lua que é extremamente poderosa e muitas vezes melhor que Python)
  • 28. MÓDULO 1: Começando Agora, vamos entrar de vez no universo Python… Um caminho sem volta.
  • 29. MÓDULO 1: Python 3 Usaremos Python 3 no lugar de Python 2 para iniciar a programação com Python. Não existe problema algum entre uma e outra. As diferenças entre Python 2 e 3 podem ser vistas no Site oficial: https://wiki.python.org/moin/Python2orPython3
  • 30. MÓDULO 1: Diferenças Guido van Rossum decidiu ao final do lançamento de Python 2x (2010) fazer uma limpeza na linguagem e arrumar muitas questões para tornar mais simples para os iniciantes. Python 2 terá suporte, correções de bugs etc, porem implementações e recursos novos só em Python 3.
  • 31. MÓDULO 1: Instalando Python3 Usuário de Windows. :( Baixe o instalador no Site Oficial (Versão >= 3 ): link: http://python.org/download/
  • 32. MÓDULO 1: Usuário de Windows. Instalando Python3
  • 33. MÓDULO 1: Instalando Python3 Usuário de Windows. Next… Finish
  • 34. MÓDULO 1: Instalando Python3 Usuário de Windows. 1) IDLE - EDITOR DE TEXTO/INTERPRETADOR PARA ESCREVER OS CÓDIGOS 2) LINHA DE COMANDO 3) MANUAL.
  • 35. MÓDULO 1: Instalando Python3 Usuário de Windows. IDLE aberta e com uma linha executada
  • 36. MÓDULO 1: Instalando Python3 Usuário de Windows. Na IDLE Clique em File/New Window para criar um novo documento de texto vazio, salvo-o com a extensão .py No seu diretório preferido.
  • 37. MÓDULO 1: Instalando Python3 Usuário de Windows. Escreva um código de teste, e IDLE de Python já destaca as palavras reservadas da linguagem e também indenta seu código automaticamente.
  • 38. MÓDULO 1: Instalando Python3 Usuário de Windows. Para executar seu código, clique em RUN/Run Module ou pelo atalho [F5]. O Interpretador será chamado com seu código já em Execução
  • 39. MÓDULO 1: Instalando Python3 Usuário de Windows. Para executar um programa .py pelo terminal/linha de comando basta digitar na pasta do seu arquivo .py, o comando: prompt> python3 <seuprograma>.py
  • 40. MÓDULO 1: Instalando Python3 Usuário de Windows. Fácil, sim ou sim? :)
  • 41. MÓDULO 1: Instalando Python3 Usuário de Linux. :) Usuários linux (beseado em Debian) sudo apt-get install idle-python3.3 Ou pelo Central de Programas/ Synapatic
  • 42. MÓDULO 1: Palavras Reservadas 33 Palavras reservadas da linguagem. False None True and as assert break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield
  • 43. MÓDULO 1: ❏ ❏ ❏ ❏ ❏ Operadores Relacionais Lógicos Aritméticos Bit a Bit Precedência das operações
  • 44. MÓDULO 1: Operadores Relacionais Operador Descrição Exemplo > Maior que 2>3 < Menor que 2<4 >= Maior igual que 2 >= 2 <= Menor Igual que 4 <= 4 != Diferente de True != False == Igual a True == 1
  • 45. MÓDULO 1: Operadores Lógicos Operador Descrição Exemplo not Negação Lógica not True and E lógico True and False or OU lógico False or True
  • 46. MÓDULO 1: Operadores Aritméticos Operador Descrição Exemplo + Adição 2+3 - Subtração 2-2 * Multiplicação 2*3 / Divisão 5/4 // Divisão Inteira 4/3 ** Exponenciação 2**100 % Resto de Divisão(mod) 10 % 2
  • 47. MÓDULO 1: Operadores bit a bit Operador Descrição Exemplo ~ complemento bit a bit ~b << deslocar bits à esquerda b << 1 >> deslocar bits à direita b >> 1 & E (and) bit a bit b & 0x01 ^ ou exclusivo (XOR) bit a bit b ^ 0x01 | ou (OR) bit a bit b | 0x01
  • 48. MÓDULO 1: Precedência das Operações Regra: PEMDAS P = Parêntesis. E = Exponenciação. M = Multiplicação. D = Divisão. A = Adição. S = Subtração.
  • 49. MÓDULO 1: ( , += &= ) Delimitadores [ ] : . ; @ -= *= /= |= ^= >>= <<= **= { = //= } -> %=
  • 50. MÓDULO 1: Tipo de Dados int Número inteiro 100000005644343 float Número ponto flutuante 45678.984 bool booleano True, False str String (cadeia de carateres) “Bola”, ‘Gato’ complex Número complexo 3+2j list lista heterogênea [1,2,3, “eggs”, “foo”] dict array associativo (hash table) {“nota”: 10.1 } set conjunto ordenado único {1,2,3,4,6,10} tuple list imutável, tupla. (1,2,3,4, “eggs”)
  • 51. MÓDULO 1: Built-in Functions O interpretador Python tem uma série de funções e tipos embutidos que estão sempre disponíveis. A seguir será listada algumas funções uteis: ➢ ➢ ➢ ➢ ➢ float(x) int(x) str(x) print(x, y) input(msg) -> converte o valor x para float. -> converte o valor x para int. -> converte o valor x para uma str. -> imprime os dados na tela. -> recebe dados via teclado.
  • 52. MÓDULO 1: Built-in Functions O interpretador Python tem uma série de funções e tipos embutidos que estão sempre disponíveis. A seguir será listada algumas funções uteis: ➔ ➔ ➔ ➔ help([obj]) len([obj]) list(x) tuple(x) -> chama o sistema de ajuda do objeto. -> retorna o tamanho do obj -> converte x para list -> converte x para tuple
  • 53. MÓDULO 1: Built-in Functions O interpretador Python tem uma série de funções e tipos embutidos que estão sempre disponíveis. A seguir será listada algumas funções uteis: ➔ range(inicio, fim-1, passo) -> retorna um objeto tipo range com a sequência gerada pelo intervalo definido entre inicio e fim-1, com o passo default: 1. ➔ type([obj]) -> retorna o tipo do objeto
  • 54. MÓDULO 1: Python como uma calculadora Usaremos o interpretador Python para fazermos alguns cálculos básicos: No terminal Linux, digite python3 e pressione [ENTER]
  • 55. MÓDULO 1: Python como uma calculadora Exemplos e Exercícios.
  • 56. MÓDULO 1: Declarando Variáveis Para declarar variáveis em Python não é necessário especificar o tipo, pois a linguagem possui inferência de tipos. x = 10 -> x é do tipo int y = “eggs” -> y é do tipo str Z = [2,34] -> Z é do tipo list
  • 57. MÓDULO 1: Declarando Variáveis Como a linguagem é de tipagem dinâmica, podemos alterar o tipo de uma variável apenas atribuindo outro valor a ela: x = 10 -> x é do tipo int x = “eggs” -> x é do tipo str e seu valor foi mudado. x = [42,42] -> x é do tipo list
  • 58. MÓDULO 1: Declarando Variáveis Contúdo ela tem também tipagem FORTE. Evita que o programador faça coisas bizarras como somar uma variável tipo int com str: x = 10 x = x + ‘10’ TypeError: unsupported operand type(s) for +: 'int' and 'str'
  • 59. MÓDULO 1: Declarando Variáveis Para fazer isso é necessário converter a variável explicitamente. x = 10 x = str(x) + ‘10’ print(x) -> ‘1010’
  • 60. MÓDULO 1: Declarando Variáveis Para fazer isso é necessário converter a variável explicitamente. x = ‘10’ x = int(x) + 10 print(x) -> 20
  • 61. MÓDULO 1: Declarando Variáveis x x x x x x x x x x x x x x x x = = = = = = = = [] “” 1 True () {} 1.0 None -> -> -> -> -> -> -> -> tipo tipo tipo tipo tipo tipo tipo tipo list str int bool tuple dict float indefinido (null, nil)
  • 62. MÓDULO 1: Estrutura de Controle As linguagens de programação possuem mecanismos para controlar o fluxo do programa, que são as Estruturas Condicionais e de Repetição. ❏ SE, SENAO. ❏ ENQUANTO, PARA, REPITA.
  • 63. MÓDULO 1: Estrutura de Controle: IF, ELIF, ELSE No Python, o SE, ENTÃO é escrito desta maneira: if <condicao> : <indentacao> <comando> else : <indentacao> <comando> <indentacao> = escopo.
  • 64. MÓDULO 1: Estrutura de Controle: IF, ELIF, ELSE ELIF if <condicao>: <indentacao> <comando> elif <condicao>: <indentacao> <comando> else: <indentacao> <comando>
  • 65. MÓDULO 1: Estrutura de Controle: blocos Em Python, os blocos de códigos são delimitados por 4 espaços em branco (PEP 8), não usa delimitadores visuais como {, } no C e Java. Fica mais fácil e agradável de ler.
  • 66. MÓDULO 1: Estrutura de Controle: IF, ELIF, ELSE Exemplo: nota = 7.5 if nota < 7.0: print(“Aluno de Exame.”) else: print(“Aluno Aprovado.”)
  • 67. MÓDULO 1: Estrutura de Controle: IF, ELIF, ELSE Exemplo 2: situação-> Aluno aprovado, exame ou reprovado. Usando elif. nota = 6.5 if nota >= 7: print(“Aluno Aprovado.”) elif nota >=4 and nota < 7: print(“Aluno de Exame.”) else: print(“Aluno Reprovado.”)
  • 68. MÓDULO 1: Estrutura de Controle: IF, ELIF, ELSE ifs aninhados: nota = 5.5 if nota < 7: if nota >= 5: print(“Aluno de Exame”) else: print(“Aluno Reprovado”) else: print(“Aluno Aprovado”)
  • 69. MÓDULO 1: Estrutura de Controle: while, for Existem também as estruturas de repetição, em Python o while, e o for: while <condicao>: <indentacao> <comando>
  • 70. MÓDULO 1: Estrutura de Controle: while, for x = 0 while x < 10: print(x) x = x + 1 # ou x += 1 ----------------------------------------saida: 0,1,2,3,4,5,6,7,8,9 -----------------------------------------
  • 71. MÓDULO 1: Estrutura de Controle: while, for x = 0 while True: print(x) x = x + 1 # ou x += 1 if x >= 10: break ----------------------------------------saida: 0,1,2,3,4,5,6,7,8,9 ----------------------------------------Comando: break, quebra o laço de for e while,
  • 72. MÓDULO 1: Estrutura de Controle: while, for x = 0 while True: print(x) x = x + 1 # ou x += 1 if x >= 10: #loop infinito continue ----------------------------------------saida: 0,1,2,3,4,5,6,7,8,9, 10, 11, 12, … infinito ----------------------------------------Comando: continue, ignora o resto do bloco de código e continua o laço
  • 73. MÓDULO 1: Estrutura de Controle: while, for Laço for do Python é diferente das outras linguagens, não itera sobre os índices de uma sequência e sim sobre os próprios elementos da sequência: for <elemento> in <sequencia>: <indentação> <comando>
  • 74. MÓDULO 1: Estrutura de Controle: while, for Laço for: for i in range(10): print(i) ---------------------------saída: 0,1,2,3,4,5,6,7,8,9 ----------------------------
  • 75. MÓDULO 1: Estrutura de Controle: while, for Laço for: for i in range(5, 10): print(i) ---------------------------saída:5,6,7,8,9 ----------------------------
  • 76. MÓDULO 1: Estrutura de Controle: while, for Laço for: for i in range(1, 10, 2): print(i) ---------------------------saída:1,3,5,7,9 ----------------------------
  • 77. MÓDULO 1: Estrutura de Controle: while, for Laço for: lista = [1,3,5,”eggs”] for elemento in lista: print(elemento) ---------------------------saída:1,3,5,”eggs” ----------------------------
  • 78. MÓDULO 1: Estrutura de Controle: while, for Laço for: monty = “python” for letra in monty: print(letra) ----------------------------------saída:”p”, “y”, “t”, “h”, “o”, “n” -----------------------------------
  • 79. MÓDULO 1: Estrutura de Controle: while, for Laço for, com if e else: lista = [1,3,5,”eggs”] for elemento in lista: if elemento is ‘eggs’: print(“ovo em inglés é: ”, elemento) else: print(elemento) ---------------------------saída:1,3,5, “ovo em ingles é: eggs” ----------------------------
  • 80. MÓDULO 1: Estrutura de Controle: while, for Laço for, com break: lista = [1,2,3,4,5,-1,7,8,9,0,100] for elemento in lista: if elemento == -1: break else: print(elemento) ---------------------------saída:1,3,4,5 ----------------------------
  • 81. MÓDULO 1: Dúvidas/exercícios Dúvidas?
  • 82. MÓDULO 1: FIM Material disponível em: jhoonb.com/courses