PYTHONtiagodemelo.info/wp-content/uploads/2020/11/aula-python.pdf · 2020. 11. 14. · Python é...

235
1/235 PYTHON

Transcript of PYTHONtiagodemelo.info/wp-content/uploads/2020/11/aula-python.pdf · 2020. 11. 14. · Python é...

  • 1/235

    PYTHON

  • 2/235

    Características

  • 3/235

    Características

    ● Simples

  • 4/235

    Características

    ● Simples● Interpretada de alto nível

  • 5/235

    Características

    ● Simples● Interpretada de alto nível● Orientada a objetos

  • 6/235

    Princípios

  • 7/235

    Princípios

    ● Baseada em indentação.

  • 8/235

    Princípios

    ● Baseada em indentação.● Extremamente flexível

  • 9/235

    Princípios

    ● Baseada em indentação.● Extremamente flexível● As regras são estabelecidas pela comunidade

    Python

  • 10/235

    Python 2 x Python 3

  • 11/235

    Python 2 x Python 3

    ● Em 2008, os desenvolvedores da Python Software Foundation decidiram criar a versão 3.

  • 12/235

    Python 2 x Python 3

    ● Em 2008, os desenvolvedores da Python Software Foundation decidiram criar a versão 3.

    ● As mudanças foram muitas e, por isso, Python 3 não é compatível com Python 2.

  • 13/235

    Python 2 x Python 3

    ● Em 2008, os desenvolvedores da Python Software Foundation decidiram criar a versão 3.

    ● As mudanças foram muitas e, por isso, Python 3 não é compatível com Python 2.

    ● A manutenção de Python 2.7 foi até 2020.

  • 14/235

    Python 2 x Python 3

    ● Em 2008, os desenvolvedores da Python Software Foundation decidiram criar a versão 3.

    ● As mudanças foram muitas e, por isso, Python 3 não é compatível com Python 2.

    ● A manutenção de Python 2.7 foi até 2020.● Portanto, projeto novo, Python 3.

  • 15/235

    Interpretador

  • 16/235

    Interpretador

    ● IPython é o interpretador de Python.

  • 17/235

    Interpretador

    ● IPython é o interpretador de Python.● É a ferramenta que traduz o código fonte em

    uma ação.

  • 18/235

    Interpretador

    ● IPython é o interpretador de Python.● É a ferramenta que traduz o código fonte em

    uma ação.● Permite ainda simples cálculos diretamente.

  • 19/235

    Interpretador

    ● IPython é o interpretador de Python.● É a ferramenta que traduz o código fonte em

    uma ação.● Permite ainda simples cálculos diretamente.

  • 20/235

    Operador de Atribuição

  • 21/235

    Operador de Atribuição

    ● Exemplo:

  • 22/235

    Operador de Atribuição

    ● Exemplo:

  • 23/235

    Operador de Atribuição

    ● Exemplo:

    ● O tipo da variável é automaticamente identificado por Python.

  • 24/235

    Operador de Atribuição

    ● Exemplo:

    ● O tipo da variável é automaticamente identificado por Python.

    ● Os tipos primitivos de Python são:

  • 25/235

    Operador de Atribuição

    ● Exemplo:

    ● O tipo da variável é automaticamente identificado por Python.

    ● Os tipos primitivos de Python são:– int: inteiro

  • 26/235

    Operador de Atribuição

    ● Exemplo:

    ● O tipo da variável é automaticamente identificado por Python.

    ● Os tipos primitivos de Python são:– int: inteiro– float: números reais

  • 27/235

    Operador de Atribuição● Exemplo:

    ● O tipo da variável é automaticamente identificado por Python.

    ● Os tipos primitivos de Python são:– int: inteiro– float: números reais– str: string de caracteres

  • 28/235

    Operador de Atribuição● Exemplo:

    ● O tipo da variável é automaticamente identificado por Python.● Os tipos primitivos de Python são:

    – int: inteiro– float: números reais– str: string de caracteres– bool: lógico (boleano)

  • 29/235

    Operador de Atribuição● Exemplo:

    ● O tipo da variável é automaticamente identificado por Python.● Os tipos primitivos de Python são:

    – int: inteiro– float: números reais– str: string de caracteres– bool: lógico (boleano)

    ● O comando type é usado para identificar o tipo de uma variável.

  • 30/235

    Operador de Atribuição● Exemplo:

    ● O tipo da variável é automaticamente identificado por Python.● Os tipos primitivos de Python são:

    – int: inteiro– float: números reais– str: string de caracteres– bool: lógico (boleano)

    ● O comando type é usado para identificar o tipo de uma variável.

  • 31/235

    Indentação

    ● Os limites das declarações e blocos de códigos são definidos pelo layout e não por símbolos específicos.

    ● Melhora na legibilidade e organização do código.

    ● Por convenção, nós usamos a indentação com quatro espaços.

  • 32/235

    Orientação a Objetos

  • 33/235

    Orientação a Objetos

    ● Python é uma linguagem orientada a objetos.

  • 34/235

    Orientação a Objetos

    ● Python é uma linguagem orientada a objetos.● Em Python, tudo é objeto.

  • 35/235

    Orientação a Objetos

    ● Python é uma linguagem orientada a objetos.● Em Python, tudo é objeto.● Inclusive variáveis, funções e todas as

    estruturas são Python Object.

  • 36/235

    Orientação a Objetos

    ● Python é uma linguagem orientada a objetos.● Em Python, tudo é objeto.● Inclusive variáveis, funções e todas as

    estruturas são Python Object.● Por exemplo, uma string é um objeto da classe str.

  • 37/235

    Orientação a Objetos

    ● Python é uma linguagem orientada a objetos.● Em Python, tudo é objeto.● Inclusive variáveis, funções e todas as

    estruturas são Python Object.● Por exemplo, uma string é um objeto da classe str.

    ● Portanto, suas propriedades e métodos podem ser identificados através de um ponto (.).

  • 38/235

    Comentários

  • 39/235

    Comentários

    ● Necessários para melhorar a legibilidade do código e também para o compartilhamento de programas.

  • 40/235

    Comentários

    ● Necessários para melhorar a legibilidade do código e também para o compartilhamento de programas.

    ● Comentários em Python são delimitados por #.

  • 41/235

    Comentários

    ● Necessários para melhorar a legibilidade do código e também para o compartilhamento de programas.

    ● Comentários em Python são delimitados por #.● As linhas com # não são executadas pelo

    interpretador de Python.

  • 42/235

    Comentários

    ● Necessários para melhorar a legibilidade do código e também para o compartilhamento de programas.

    ● Comentários em Python são delimitados por #.● As linhas com # não são executadas pelo

    interpretador de Python.

  • 43/235

    Convenção de Nomes

  • 44/235

    Convenção de Nomes

    ● Python é case sensitive.

  • 45/235

    Convenção de Nomes

    ● Python é case sensitive.● Convenções:

  • 46/235

    Convenção de Nomes

    ● Python é case sensitive.● Convenções:

    – Variáveis sempre são minúsculas (lowercase) com separador de _ (underline).

  • 47/235

    Convenção de Nomes

    ● Python é case sensitive.● Convenções:

    – Variáveis sempre são minúsculas (lowercase) com separador de _ (underline).

    – Funções sempre iniciam com letra maiúscula (uppercase) com separador de _ (underline).

  • 48/235

    Convenção de Nomes

    ● Python é case sensitive.● Convenções:

    – Variáveis sempre são minúsculas (lowercase) com separador de _ (underline).

    – Funções sempre iniciam com letra maiúscula (uppercase) com separador de _ (underline).

    – Classes são escritas sem o separador com a primeira letra de cada nome em caixa alta.

  • 49/235

    Convenção de Nomes

    ● Python é case sensitive.● Convenções:

    – Variáveis sempre são minúsculas (lowercase) com separador de _ (underline).

    – Funções sempre iniciam com letra maiúscula (uppercase) com separador de _ (underline).

    – Classes são escritas sem o separador com a primeira letra de cada nome em caixa alta.

    – Os pacotes são escritos em lowercase.

  • 50/235

    Convenção de Nomes

    ● Python é case sensitive.● Convenções:

    – Variáveis sempre são minúsculas (lowercase) com separador de _ (underline).

    – Funções sempre iniciam com letra maiúscula (uppercase) com separador de _ (underline).

    – Classes são escritas sem o separador com a primeira letra de cada nome em caixa alta.

    – Os pacotes são escritos em lowercase.

  • 51/235

    Regras de Codificação

  • 52/235

    Regras de Codificação

    ● A Python Software Foundation estabelece uma série de recomendações sobre estilos de codificação.

  • 53/235

    Regras de Codificação

    ● A Python Software Foundation estabelece uma série de recomendações sobre estilos de codificação.

    ● https://www.python.org/dev/peps

    https://www.python.org/dev/peps

  • 54/235

    Operadores Lógicos

    ● Se for necessário verificar se um objeto é de uma classe esperada, podemos fazer isto através do operador is ou is not.

  • 55/235

    Operadores Lógicos

    ● Se for necessário verificar se um objeto é de uma classe esperada, podemos fazer isto através do operador is ou is not.

  • 56/235

    Estruturas de Dados

  • 57/235

    Estruturas de Dados

    ● Python possui três importantes estruturas para armazenamento e manipulação de dados:

  • 58/235

    Estruturas de Dados

    ● Python possui três importantes estruturas para armazenamento e manipulação de dados:– Tuplas

  • 59/235

    Estruturas de Dados

    ● Python possui três importantes estruturas para armazenamento e manipulação de dados:– Tuplas– Listas

  • 60/235

    Estruturas de Dados

    ● Python possui três importantes estruturas para armazenamento e manipulação de dados:– Tuplas– Listas– Dicionários

  • 61/235

    Tuplas

  • 62/235

    Tuplas

    ● É uma estrutura que agrupa múltiplos objetos de maneira indexada.

  • 63/235

    Tuplas

    ● É uma estrutura que agrupa múltiplos objetos de maneira indexada.

    ● As tuplas são representadas através de parênteses.

  • 64/235

    Tuplas

    ● É uma estrutura que agrupa múltiplos objetos de maneira indexada.

    ● As tuplas são representadas através de parênteses.

  • 65/235

    Tuplas

    ● É uma estrutura que agrupa múltiplos objetos de maneira indexada.

    ● As tuplas são representadas através de parênteses.

    ● As tuplas possuem apenas uma dimensão.

  • 66/235

    Tuplas

    ● É uma estrutura que agrupa múltiplos objetos de maneira indexada.

    ● As tuplas são representadas através de parênteses.

    ● As tuplas possuem apenas uma dimensão.● São objetos imutáveis.

  • 67/235

    Tuplas● É uma estrutura que agrupa múltiplos objetos de

    maneira indexada.● As tuplas são representadas através de parênteses.

    ● As tuplas possuem apenas uma dimensão.● São objetos imutáveis.● As tuplas também podem ser criadas através da

    função tuple( ).

  • 68/235

    Tuplas

  • 69/235

    Tuplas

    ● Os valores são acessados através dos seus índices.

  • 70/235

    Tuplas

    ● Os valores são acessados através dos seus índices.

  • 71/235

    Tuplas

    ● Os valores são acessados através dos seus índices.

    ● Tuplas podem ser interessantes porque exigem pouca memória.

  • 72/235

    Tuplas

    ● Os valores são acessados através dos seus índices.

    ● Tuplas podem ser interessantes porque exigem pouca memória.

    ● São também usadas como saídas de funções.

  • 73/235

    Tuplas

    ● Os valores são acessados através dos seus índices.

    ● Tuplas podem ser interessantes porque exigem pouca memória.

    ● São também usadas como saídas de funções.● Tuplas são objetos.

  • 74/235

    Tuplas

    ● Os valores são acessados através dos seus índices.

    ● Tuplas podem ser interessantes porque exigem pouca memória.

    ● São também usadas como saídas de funções.● Tuplas são objetos.

  • 75/235

    Tuplas

    ● Os valores são acessados através dos seus índices.

    ● Tuplas podem ser interessantes porque exigem pouca memória.

    ● São também usadas como saídas de funções.● Tuplas são objetos.

  • 76/235

    Listas

  • 77/235

    Listas

    ● Estrutura que permite armazenar objetos de tipos distintos.

  • 78/235

    Listas

    ● Estrutura que permite armazenar objetos de tipos distintos.

    ● É uma estrutura modificável.

  • 79/235

    Listas

    ● Estrutura que permite armazenar objetos de tipos distintos.

    ● É uma estrutura modificável.● Os valores são representados através de

    colchetes [ ].

  • 80/235

    Listas

    ● Estrutura que permite armazenar objetos de tipos distintos.

    ● É uma estrutura modificável.● Os valores são representados através de

    colchetes [ ].● Exemplo:

  • 81/235

    Listas

    ● Estrutura que permite armazenar objetos de tipos distintos.

    ● É uma estrutura modificável.● Os valores são representados através de

    colchetes [ ].● Exemplo:

  • 82/235

    Listas

  • 83/235

    Listas

    ● As listas também podem ser criadas através da função list( ).

  • 84/235

    Listas

    ● As listas também podem ser criadas através da função list( ).

    ● Essa função é comumente usada para converter outros tipos de objetos em listas.

  • 85/235

    Listas

    ● As listas também podem ser criadas através da função list( ).

    ● Essa função é comumente usada para converter outros tipos de objetos em listas.

  • 86/235

    Listas

  • 87/235

    Listas

    ● Vasto conjunto de funções.

  • 88/235

    Listas

    ● Vasto conjunto de funções.● append( )

  • 89/235

    Listas

    ● Vasto conjunto de funções.● append( )● insert(i , valor)

  • 90/235

    Listas

    ● Vasto conjunto de funções.● append( )● insert(i , valor)● pop (i)

  • 91/235

    Listas

    ● Vasto conjunto de funções.● append( )● insert(i , valor)● pop (i)● reverse( )

  • 92/235

    Listas

    ● Vasto conjunto de funções.● append( )● insert(i , valor)● pop (i)● reverse( )● extend( )

  • 93/235

    Listas

    ● Vasto conjunto de funções.● append( )● insert(i , valor)● pop (i)● reverse( )● extend( )● index(valor)

  • 94/235

    Listas● Vasto conjunto de funções.● append( )● insert(i , valor)● pop (i)● reverse( )● extend( )● index(valor)● count(valor)

  • 95/235

    Listas● Vasto conjunto de funções.● append( )● insert(i , valor)● pop (i)● reverse( )● extend( )● index(valor)● count(valor)● remove(valor)

  • 96/235

    Listas

  • 97/235

    Listas

    ● Fatiamento de listas

  • 98/235

    Listas

    ● Fatiamento de listas– lista[posA:posB]

  • 99/235

    Listas

    ● Fatiamento de listas– lista[posA:posB]

    ● Uso de índices negativos

  • 100/235

    Listas

    ● Fatiamento de listas– lista[posA:posB]

    ● Uso de índices negativos– lista[-1]

  • 101/235

    Strings

  • 102/235

    Strings

    ● São consideradas listas de caracteres.

  • 103/235

    Strings

    ● São consideradas listas de caracteres.● A codificação de strings em Python 3 é

    Unicode.

  • 104/235

    Strings

    ● São consideradas listas de caracteres.● A codificação de strings em Python 3 é

    Unicode.● A criação de uma variável do tipo string é entre

    aspas:

  • 105/235

    Strings

    ● São consideradas listas de caracteres.● A codificação de strings em Python 3 é Unicode.● A criação de uma variável do tipo string é entre

    aspas:

    ● Uma string é uma lista de caracteres.

  • 106/235

    Strings● São consideradas listas de caracteres.● A codificação de strings em Python 3 é Unicode.● A criação de uma variável do tipo string é entre aspas:

    ● Uma string é uma lista de caracteres.● As funções de listas podem ser usadas diretamente

    nas strings

  • 107/235

    Strings● São consideradas listas de caracteres.● A codificação de strings em Python 3 é Unicode.● A criação de uma variável do tipo string é entre aspas:

    ● Uma string é uma lista de caracteres.● As funções de listas podem ser usadas diretamente

    nas strings

  • 108/235

    Strings● São consideradas listas de caracteres.● A codificação de strings em Python 3 é Unicode.● A criação de uma variável do tipo string é entre aspas:

    ● Uma string é uma lista de caracteres.● As funções de listas podem ser usadas diretamente

    nas strings

  • 109/235

    Dicionários

  • 110/235

    Dicionários

    ● Tipo de estrutura bastante utilizada em diversas aplicações.

  • 111/235

    Dicionários

    ● Tipo de estrutura bastante utilizada em diversas aplicações.

    ● O acesso aos valores é através de uma chave, ao invés de usar um índice numérico (listas).

  • 112/235

    Dicionários

    ● Tipo de estrutura bastante utilizada em diversas aplicações.

    ● O acesso aos valores é através de uma chave, ao invés de usar um índice numérico (listas).

    ● Exemplo:

  • 113/235

    Dicionários

    ● Tipo de estrutura bastante utilizada em diversas aplicações.

    ● O acesso aos valores é através de uma chave, ao invés de usar um índice numérico (listas).

    ● Exemplo:

  • 114/235

    Dicionários

    ● Tipo de estrutura bastante utilizada em diversas aplicações.

    ● O acesso aos valores é através de uma chave, ao invés de usar um índice numérico (listas).

    ● Exemplo:

  • 115/235

    COMANDOS CONDICIONAIS

  • 116/235

    IF-ELSE

  • 117/235

    IF-ELSE

    ● Python usa o comando if para testar uma condição.

  • 118/235

    IF-ELSE

    ● Python usa o comando if para testar uma condição.

    ● Comandos simples e com sintaxe próxima de outras linguagens de programação.

  • 119/235

    IF-ELSE

    ● Python usa o comando if para testar uma condição.

    ● Comandos simples e com sintaxe próxima de outras linguagens de programação.

    ● A indentação deve ser mantida!

  • 120/235

    IF-ELSE

    ● Python usa o comando if para testar uma condição.

    ● Comandos simples e com sintaxe próxima de outras linguagens de programação.

    ● A indentação deve ser mantida!

  • 121/235

    LAÇOS DE REPETIÇÃO

  • 122/235

    Laços de Repetição

  • 123/235

    Laços de Repetição

    ● É comumente usado o comando for.

  • 124/235

    Laços de Repetição

    ● É comumente usado o comando for.● É executado através de objetos iteráveis.

  • 125/235

    Laços de Repetição

    ● É comumente usado o comando for.● É executado através de objetos iteráveis.● Exemplo:

  • 126/235

    Laços de Repetição

    ● É comumente usado o comando for.● É executado através de objetos iteráveis.● Exemplo:

  • 127/235

    Range

  • 128/235

    Range

    ● Função usada para gerar uma sequência de números.

  • 129/235

    Range

    ● Função usada para gerar uma sequência de números.

    ● Exemplo 1:

  • 130/235

    Range

    ● Função usada para gerar uma sequência de números.

    ● Exemplo 1:

  • 131/235

    Range

    ● Função usada para gerar uma sequência de números.

    ● Exemplo 1:

    ● Exemplo 2:

  • 132/235

    Range

    ● Função usada para gerar uma sequência de números.

    ● Exemplo 1:

    ● Exemplo 2:

  • 133/235

    Range

    ● Função usada para gerar uma sequência de números.

    ● Exemplo 1:

    ● Exemplo 2:

    ● Exemplo 3:

  • 134/235

    Range

    ● Função usada para gerar uma sequência de números.

    ● Exemplo 1:

    ● Exemplo 2:

    ● Exemplo 3:

  • 135/235

    Range

  • 136/235

    Range

    ● A função de range é comumente usada com for:

  • 137/235

    Range

    ● A função de range é comumente usada com for:

  • 138/235

    Enumerate

  • 139/235

    Enumerate

    ● A função retorna o índice (index) e o elemento de uma lista.

  • 140/235

    Enumerate

    ● A função retorna o índice (index) e o elemento de uma lista.

    ● Exemplo:

  • 141/235

    Enumerate

    ● A função retorna o índice (index) e o elemento de uma lista.

    ● Exemplo:

  • 142/235

    Zip

  • 143/235

    Zip

    ● A função zip permite associar muitas listas e simultaneamente iterar através dos elementos destas listas.

  • 144/235

    While

  • 145/235

    While

    ● Python ainda possui o comando while como laço de repetição.

  • 146/235

    While

    ● Python ainda possui o comando while como laço de repetição.

    ● O controle do término do laço é responsabilidade do programador.

  • 147/235

    FUNÇÕES

  • 148/235

    Funções

  • 149/235

    Funções

    ● Um dos pontos fortes de Python é o poder de automatização de tarefas.

  • 150/235

    Funções

    ● Um dos pontos fortes de Python é o poder de automatização de tarefas.

    ● A forma mais simples de fazer isto é através das funções.

  • 151/235

    Funções

    ● Um dos pontos fortes de Python é o poder de automatização de tarefas.

    ● A forma mais simples de fazer isto é através das funções.

    ● Uma função é um objeto que aceita um parâmetro como entrada e então executa uma ação.

  • 152/235

    Funções

    ● Um dos pontos fortes de Python é o poder de automatização de tarefas.

    ● A forma mais simples de fazer isto é através das funções.

    ● Uma função é um objeto que aceita um parâmetro como entrada e então executa uma ação.

    ● Uma função usa a palavra reservada def e o nome da função.

  • 153/235

    Funções● Um dos pontos fortes de Python é o poder de

    automatização de tarefas.● A forma mais simples de fazer isto é através das funções.● Uma função é um objeto que aceita um parâmetro como

    entrada e então executa uma ação.● Uma função usa a palavra reservada def e o nome da

    função.● Se a função retornar um valor, então deveremos usar o

    operador return.

  • 154/235

    Funções

  • 155/235

    Funções

    ● É possível ainda ter argumentos opcionais nas funções.

  • 156/235

    Funções

    ● É possível ainda ter argumentos opcionais nas funções.

    ● Para isto, é necessário definir os valores default destas funções.

  • 157/235

    Funções

    ● É possível ainda ter argumentos opcionais nas funções.

    ● Para isto, é necessário definir os valores default destas funções.

    ● Exemplo:

  • 158/235

    Funções

    ● É possível ainda ter argumentos opcionais nas funções.

    ● Para isto, é necessário definir os valores default destas funções.

    ● Exemplo:

  • 159/235

    Funções

    ● É possível ainda passar listas e dicionários como parâmetros para funções.

  • 160/235

    Múltiplos Retornos

  • 161/235

    Múltiplos Retornos

    ● Uma função pode ainda retornar múltiplos valores.

  • 162/235

    Múltiplos Retornos

    ● Uma função pode ainda retornar múltiplos valores.

    ● Para isto, basta retornar os valores separados por vírgulas.

  • 163/235

    Funções Lambda

  • 164/235

    Funções Lambda

    ● São as chamadas funções anônimas.

  • 165/235

    Funções Lambda

    ● São as chamadas funções anônimas.● Portanto, essas funções não têm nomes.

  • 166/235

    Funções Lambda

    ● São as chamadas funções anônimas.● Portanto, essas funções não têm nomes.● Elas são criadas em tempo de execução.

  • 167/235

    Funções Lambda

    ● São as chamadas funções anônimas.● Portanto, essas funções não têm nomes.● Elas são criadas em tempo de execução.● São muito úteis na manipulação de dados em

    Ciência de Dados.

  • 168/235

    Funções Lambda

    ● São as chamadas funções anônimas.● Portanto, essas funções não têm nomes.● Elas são criadas em tempo de execução.● São muito úteis na manipulação de dados em

    Ciência de Dados.● Uma função anônima é criada através da

    palavra-reservada lambda.

  • 169/235

    Funções Lambda

    ● São as chamadas funções anônimas.● Portanto, essas funções não têm nomes.● Elas são criadas em tempo de execução.● São muito úteis na manipulação de dados em

    Ciência de Dados.● Uma função anônima é criada através da

    palavra-reservada lambda.

  • 170/235

    ORIENTAÇÃO A OBJETOS

  • 171/235

    Classes e Objetos

  • 172/235

    Classes e Objetos

    ● Python é uma linguagem orientada a objetos.

  • 173/235

    Classes e Objetos

    ● Python é uma linguagem orientada a objetos.● Porém, é possível programar sem ter essa

    noção.

  • 174/235

    Classes e Objetos

    ● Python é uma linguagem orientada a objetos.● Porém, é possível programar sem ter essa

    noção.● A própria linguagem facilita essa abordagem.

  • 175/235

    Classes

  • 176/235

    Classes

    ● Os objetos são criados através das classes.

  • 177/235

    Classes

    ● Os objetos são criados através das classes.● A programação em Python é através da

    manipulação de objetos.

  • 178/235

    Classes

    ● Os objetos são criados através das classes.● A programação em Python é através da

    manipulação de objetos.● Forma simples de criar um objeto a partir de

    uma classe:

  • 179/235

    Classes

    ● Os objetos são criados através das classes.● A programação em Python é através da

    manipulação de objetos.● Forma simples de criar um objeto a partir de

    uma classe:objeto1 = classe1 (arg1)

  • 180/235

    Classes

    ● Os objetos são criados através das classes.● A programação em Python é através da

    manipulação de objetos.● Forma simples de criar um objeto a partir de

    uma classe:objeto1 = classe1 (arg1)

    ● A declaração abaixo criou uma variável ou objeto?

  • 181/235

    Classes

    ● Os objetos são criados através das classes.● A programação em Python é através da

    manipulação de objetos.● Forma simples de criar um objeto a partir de

    uma classe:objeto1 = classe1 (arg1)

    ● A declaração abaixo criou uma variável ou objeto?

  • 182/235

    Classes

    ● Os objetos são criados através das classes.● A programação em Python é através da

    manipulação de objetos.● Forma simples de criar um objeto a partir de

    uma classe:objeto1 = classe1 (arg1)

    ● A declaração abaixo criou uma variável ou objeto?

  • 183/235

    Como criar uma classe?

  • 184/235

    Como criar uma classe?

    ● Nós devemos usar a palavra-reservada class.● O método construtor é representado através

    __init__.

  • 185/235

    Como criar uma classe?

    ● Nós devemos usar a palavra-reservada class.● O método construtor é representado através

    __init__.

  • 186/235

    PACOTES E MÓDULOS

  • 187/235

    Introdução

  • 188/235

    Introdução

    ● Em Python, existem dois tipos de estruturas para organizar o código:

  • 189/235

    Introdução

    ● Em Python, existem dois tipos de estruturas para organizar o código:– Módulos

  • 190/235

    Introdução

    ● Em Python, existem dois tipos de estruturas para organizar o código:– Módulos– Pacotes

  • 191/235

    Introdução

    ● Em Python, existem dois tipos de estruturas para organizar o código:– Módulos– Pacotes

    ● Módulos são arquivos com a extensão .py em que funções e classes são armazenadas.

  • 192/235

    Introdução

    ● Em Python, existem dois tipos de estruturas para organizar o código:– Módulos– Pacotes

    ● Módulos são arquivos com a extensão .py em que funções e classes são armazenadas.

    ● Pacotes são estruturas de diretórios em que muitos módulos podem ser armazenados.

  • 193/235

    Instalação de Pacotes

  • 194/235

    Instalação de Pacotes

    ● É possível usar pacotes próprios ou desenvolvidos por terceiros.

  • 195/235

    Instalação de Pacotes

    ● É possível usar pacotes próprios ou desenvolvidos por terceiros.

    ● GitHub é um exemplo de repositório de pacotes.

  • 196/235

    Instalação de Pacotes

    ● É possível usar pacotes próprios ou desenvolvidos por terceiros.

    ● GitHub é um exemplo de repositório de pacotes.

    ● Instalação de pacotes usando Anaconda:

  • 197/235

    Instalação de Pacotes

    ● É possível usar pacotes próprios ou desenvolvidos por terceiros.

    ● GitHub é um exemplo de repositório de pacotes.

    ● Instalação de pacotes usando Anaconda:– conda install numpy

  • 198/235

    Instalação de Pacotes

    ● É possível usar pacotes próprios ou desenvolvidos por terceiros.

    ● GitHub é um exemplo de repositório de pacotes.

    ● Instalação de pacotes usando Anaconda:– conda install numpy

    ● Instalação de pacotes diretamente:

  • 199/235

    Instalação de Pacotes

    ● É possível usar pacotes próprios ou desenvolvidos por terceiros.

    ● GitHub é um exemplo de repositório de pacotes.

    ● Instalação de pacotes usando Anaconda:– conda install numpy

    ● Instalação de pacotes diretamente:– pip install numpy

  • 200/235

    Carregar Pacotes ou Módulos

  • 201/235

    Carregar Pacotes ou Módulos

    ● O comando import é usando para importar pacotes para a memória.

  • 202/235

    Carregar Pacotes ou Módulos

    ● O comando import é usando para importar pacotes para a memória.

    ● Exemplo:

  • 203/235

    Carregar Pacotes ou Módulos

    ● O comando import é usando para importar pacotes para a memória.

    ● Exemplo:– import datetime

  • 204/235

    Carregar Pacotes ou Módulos

    ● O comando import é usando para importar pacotes para a memória.

    ● Exemplo:– import datetime

    ● É possível ainda usar uma versão com nome mais curto do pacote.

  • 205/235

    Carregar Pacotes ou Módulos

    ● O comando import é usando para importar pacotes para a memória.

    ● Exemplo:– import datetime

    ● É possível ainda usar uma versão com nome mais curto do pacote.

    ● Exemplo:

  • 206/235

    Carregar Pacotes ou Módulos

    ● O comando import é usando para importar pacotes para a memória.

    ● Exemplo:– import datetime

    ● É possível ainda usar uma versão com nome mais curto do pacote.

    ● Exemplo:– import numpy as np

  • 207/235

    Carregar Pacotes ou Módulos

    ● O comando import é usando para importar pacotes para a memória.

    ● Exemplo:– import datetime

    ● É possível ainda usar uma versão com nome mais curto do pacote.

    ● Exemplo:– import numpy as np

  • 208/235

    Carregar Pacotes ou Módulos

  • 209/235

    Carregar Pacotes ou Módulos

    ● É possível ainda importar um pacote sem usar um prefixo.

  • 210/235

    Carregar Pacotes ou Módulos

    ● É possível ainda importar um pacote sem usar um prefixo.

    ● Exemplo:

  • 211/235

    Carregar Pacotes ou Módulos

    ● É possível ainda importar um pacote sem usar um prefixo.

    ● Exemplo:– from pandas import *

  • 212/235

    Carregar Pacotes ou Módulos

    ● É possível ainda importar um pacote sem usar um prefixo.

    ● Exemplo:– from pandas import *

    ● Esta abordagem deve ser evitada porque envolve muitos riscos de sobrescrever quando vários pacotes são carregados.

  • 213/235

    TRATAMENTO DE ERROS E EXCEÇÕES

  • 214/235

    Exceções

  • 215/235

    Exceções

    ● Python é considerada uma linguagem de programação flexível e pode facilmente levar a erros difíceis de serem encontrados (debugados).

  • 216/235

    Exceções

    ● Python é considerada uma linguagem de programação flexível e pode facilmente levar a erros difíceis de serem encontrados (debugados).

    ● Um programa robusto precisa tratar situações especiais.

  • 217/235

    Exceções

    ● Python é considerada uma linguagem de programação flexível e pode facilmente levar a erros difíceis de serem encontrados (debugados).

    ● Um programa robusto precisa tratar situações especiais.

    ● Por exemplo, divisão numérica cujo denominador é igual a zero.

  • 218/235

    EXPRESSÕES REGULARES

  • 219/235

    Expressões Regulares

  • 220/235

    Expressões Regulares

    ● São uma forma poderosa e rápida de realizar buscas em strings.

  • 221/235

    Expressões Regulares

    ● São uma forma poderosa e rápida de realizar buscas em strings.

    ● O pacote em Python que permite o uso de expressões regulares é re.

  • 222/235

    Expressões Regulares

    ● São uma forma poderosa e rápida de realizar buscas em strings.

    ● O pacote em Python que permite o uso de expressões regulares é re.

    ● Às vezes, expressões regulares podem ser difíceis de se compreender para os não acostumados.

  • 223/235

    DECORATORS

  • 224/235

    Decorators

  • 225/235

    Decorators

    ● São um tipo específico de função em Python que permite que o programador aplique restrições a qualquer uma função em Python.

  • 226/235

    Decorators

    ● São um tipo específico de função em Python que permite que o programador aplique restrições a qualquer uma função em Python.

    ● Um decorator toma alguma função, adiciona funcionalidades e retorna essa função.

  • 227/235

    Decorators

    ● São um tipo específico de função em Python que permite que o programador aplique restrições a qualquer uma função em Python.

    ● Um decorator toma alguma função, adiciona funcionalidades e retorna essa função.

    ● Às vezes, o uso desse recurso é também chamado de metaprogramação.

  • 228/235

    Funções

  • 229/235

    Funções

    ● Lembrar que tudo em Python são objetos.● Funções também são objetos.● Inclusive funções podem ser passadas como

    parâmetros.

  • 230/235

    Funções

    ● Lembrar que tudo em Python são objetos.● Funções também são objetos.● Inclusive funções podem ser passadas como

    parâmetros.

  • 231/235

    Decorators

  • 232/235

    Decorators

    ● Exemplo:

  • 233/235

    Decorators

    ● Exemplo:

  • 234/235

    Decorators

    ● Exemplo:

  • 235/235

    Decorators

    ● Exemplo:DECORATOR

    Slide: 1Slide: 2 (1)Slide: 2 (2)Slide: 2 (3)Slide: 2 (4)Slide: 3 (1)Slide: 3 (2)Slide: 3 (3)Slide: 3 (4)Slide: 4 (1)Slide: 4 (2)Slide: 4 (3)Slide: 4 (4)Slide: 4 (5)Slide: 5 (1)Slide: 5 (2)Slide: 5 (3)Slide: 5 (4)Slide: 5 (5)Slide: 6 (1)Slide: 6 (2)Slide: 6 (3)Slide: 6 (4)Slide: 6 (5)Slide: 6 (6)Slide: 6 (7)Slide: 6 (8)Slide: 6 (9)Slide: 6 (10)Slide: 6 (11)Slide: 7Slide: 8 (1)Slide: 8 (2)Slide: 8 (3)Slide: 8 (4)Slide: 8 (5)Slide: 8 (6)Slide: 9 (1)Slide: 9 (2)Slide: 9 (3)Slide: 9 (4)Slide: 9 (5)Slide: 10 (1)Slide: 10 (2)Slide: 10 (3)Slide: 10 (4)Slide: 10 (5)Slide: 10 (6)Slide: 10 (7)Slide: 10 (8)Slide: 11 (1)Slide: 11 (2)Slide: 11 (3)Slide: 12 (1)Slide: 12 (2)Slide: 13 (1)Slide: 13 (2)Slide: 13 (3)Slide: 13 (4)Slide: 13 (5)Slide: 14 (1)Slide: 14 (2)Slide: 14 (3)Slide: 14 (4)Slide: 14 (5)Slide: 14 (6)Slide: 14 (7)Slide: 15 (1)Slide: 15 (2)Slide: 15 (3)Slide: 15 (4)Slide: 15 (5)Slide: 15 (6)Slide: 15 (7)Slide: 15 (8)Slide: 16 (1)Slide: 16 (2)Slide: 16 (3)Slide: 16 (4)Slide: 16 (5)Slide: 16 (6)Slide: 17 (1)Slide: 17 (2)Slide: 17 (3)Slide: 17 (4)Slide: 18 (1)Slide: 18 (2)Slide: 18 (3)Slide: 18 (4)Slide: 18 (5)Slide: 18 (6)Slide: 18 (7)Slide: 18 (8)Slide: 18 (9)Slide: 18 (10)Slide: 19 (1)Slide: 19 (2)Slide: 19 (3)Slide: 19 (4)Slide: 19 (5)Slide: 20 (1)Slide: 20 (2)Slide: 20 (3)Slide: 20 (4)Slide: 20 (5)Slide: 20 (6)Slide: 20 (7)Slide: 20 (8)Slide: 21 (1)Slide: 21 (2)Slide: 21 (3)Slide: 21 (4)Slide: 21 (5)Slide: 21 (6)Slide: 22Slide: 23 (1)Slide: 23 (2)Slide: 23 (3)Slide: 23 (4)Slide: 23 (5)Slide: 24Slide: 25 (1)Slide: 25 (2)Slide: 25 (3)Slide: 25 (4)Slide: 25 (5)Slide: 26 (1)Slide: 26 (2)Slide: 26 (3)Slide: 26 (4)Slide: 26 (5)Slide: 26 (6)Slide: 26 (7)Slide: 26 (8)Slide: 27 (1)Slide: 27 (2)Slide: 27 (3)Slide: 28 (1)Slide: 28 (2)Slide: 28 (3)Slide: 28 (4)Slide: 29 (1)Slide: 29 (2)Slide: 30 (1)Slide: 30 (2)Slide: 30 (3)Slide: 31Slide: 32 (1)Slide: 32 (2)Slide: 32 (3)Slide: 32 (4)Slide: 32 (5)Slide: 32 (6)Slide: 33 (1)Slide: 33 (2)Slide: 33 (3)Slide: 33 (4)Slide: 33 (5)Slide: 34Slide: 35 (1)Slide: 35 (2)Slide: 35 (3)Slide: 36 (1)Slide: 36 (2)Slide: 36 (3)Slide: 36 (4)Slide: 36 (5)Slide: 36 (6)Slide: 36 (7)Slide: 37Slide: 38 (1)Slide: 38 (2)Slide: 38 (3)Slide: 38 (4)Slide: 39 (1)Slide: 39 (2)Slide: 39 (3)Slide: 39 (4)Slide: 39 (5)Slide: 39 (6)Slide: 39 (7)Slide: 39 (8)Slide: 40 (1)Slide: 40 (2)Slide: 40 (3)Slide: 41Slide: 42 (1)Slide: 42 (2)Slide: 42 (3)Slide: 42 (4)Slide: 42 (5)Slide: 42 (6)Slide: 43 (1)Slide: 43 (2)Slide: 43 (3)Slide: 43 (4)Slide: 43 (5)Slide: 43 (6)Slide: 43 (7)Slide: 44 (1)Slide: 44 (2)Slide: 44 (3)Slide: 44 (4)Slide: 44 (5)Slide: 44 (6)Slide: 44 (7)Slide: 44 (8)Slide: 45 (1)Slide: 45 (2)Slide: 45 (3)Slide: 45 (4)Slide: 45 (5)Slide: 46Slide: 47 (1)Slide: 47 (2)Slide: 47 (3)Slide: 47 (4)Slide: 48Slide: 49 (1)Slide: 49 (2)Slide: 49 (3)Slide: 49 (4)Slide: 50Slide: 51 (1)Slide: 51 (2)Slide: 51 (3)Slide: 51 (4)Slide: 52 (1)Slide: 52 (2)Slide: 52 (3)Slide: 53 (1)Slide: 53 (2)Slide: 53 (3)Slide: 53 (4)Slide: 53 (5)