Python Básico

CURSO PYTHON BÁSICO

Aula 13: Introdução a Função em Python

Funções é um dos pontos mais importantes no desenvolvimento de qualquer script em qualquer linguagem, aprender Funções em Python é essencial para o sucesso do nosso segundo módulo do curso de Python.

Em programação de computadores funções são partes de um código que executam tarefas específicas que normalmente precisariam ser executadas várias vezes dentro de uma mesma aplicação. Logo, quando há essa necessidade de várias instruções se repetindo no código, agrupamos ela em uma função para que não precisem ser repetidas.

def calcular(a, b):

return a + b

resultado = calcular(5, 8)

print("O resultado é {} ".format(resultado))

O código completo você encontra em nosso GitHub acessando o link abaixo:

Baixe o código da aula

A função precisa ser declarada antes de sua chamada, por isso que o def calcular(a, b): vem antes de sua chamada resultado = calcular(5, 8) então vamos entender como está funcionando esse código.

A função é declarada, e logo em seguida chamada passando como parâmetro os números 5 e 8, esses números serão atribuídos as variáveis a e b na função, entrando ela irá executar a soma e retornar o cálculo atribuindo á variável resultado que será impressa em seguida através da função bult-in print("O resultado é {} ".format(resultado)). A sintaxe é basicamente esta, não se preocupe que estudaremos função em Python ainda bastante neste módulo.

Aula 14: Biblioteca que desenha - Turtle

Antes de falarmos sobre a biblioteca Turtle vamos pontuar mais dicas sobre funções em Python, como em relação a sua nomeação, tente sempre nomear uma função como um VERBO e com LETRAS MINÚSCULAS, caso seja uma palavra composta use-as juntas porém com a segunda palavra iniciando com a letra maiúscula, observe o exemplo:

def calcularNumeros(a, b):

return a + b

Nesta aula vamos usar a biblioteca Turtle do Python para desenhar formas na tela do computador, com ela vamos também treinar um pouco mais do uso de funções em Programação de Computadores.

Gráficos turtle é uma forma popular de introduzir programação para crianças. Imagine uma tartaruga robótica começando em (0, 0) no plano x-y. Depois de um “import turtle”, dê-lhe o comando turtle.forward(15), e ela moverá (na tela!) 15 pixels na direção em que está virada (para frente), desenhando uma linha à medida que ela se move. Digite o comando turtle.right(25), e faça ela girar, no lugar, 25 graus no sentido horário.

Ao combinar esses comandos similares, formas intrincadas e imagens podem ser desenhadas facilmente.

O módulo turtle é uma reimplementação estendida de um módulo de mesmo nome da distribuição padrão do Python até a versão Python 2.5.

Ele tenta manter as características do antigo módulo turtle e ser (quase) 100% compatível com ele. Isso significa, em primeiro lugar, permitir que o programador iniciante use todos os comandos, classes e métodos interativamente ao usar o módulo de dentro do IDLE executado com a chave -n.

O módulo turtle fornece gráficos rudimentares, tanto para programação orientada a objetos quanto procedural. Como ele usa o tkinter como módulo gráfico, ele necessita de uma versão do instalada do Python que suporta o Tk.

A interface orientada a objetos usa essencialmente duas classes (e duas sub-classes):

‎1. A classe ‎‎TurtleScreen‎‎ define janelas gráficas como um playground para as tartarugas de desenho. Seu construtor precisa de um ou um ‎‎ScrolledCanvas‎‎ como argumento. Deve ser usado quando ‎‎a tartaruga‎‎ é usada como parte de alguma aplicação.‎tkinter.Canvas

‎A ‎‎tela de função()‎‎ retorna um objeto singleton de uma subclasse ‎‎TurtleScreen‎‎. Esta função deve ser usada quando ‎‎a tartaruga‎‎ é usada como uma ferramenta autônoma para fazer gráficos. Como um objeto singleton, herdar de sua classe não é possível.‎

Todos os métodos do TurtleScreen/Screen também existem como funções, ou seja, como parte da interface orientada ao procedimento.‎

2. RawTurtle‎‎ (pseudônimo: ‎‎RawPen‎‎) define objetos turtle que se desenham em uma ‎‎TurtleScreen‎‎. Seu construtor precisa de uma Tela, ScrolledCanvas ou TurtleScreen como argumento, para que os objetos RawTurtle saibam onde desenhar.‎

Derivado do RawTurtle é a ‎‎subclasse Turtle‎‎ (pseudônimo: ), que se baseia na instância "a" ‎‎Tela‎‎ que é criada automaticamente, se ainda não estiver presente.‎Pen

Todos os métodos de RawTurtle/Turtle também existem como funções, isto é, parte de uma interface procedural orientada à objeto.

A interface processual fornece funções derivadas dos métodos das classes ‎‎Tela‎‎ e ‎‎Tartaruga‎‎. Eles têm os mesmos nomes dos métodos correspondentes. Um objeto de tela é criado automaticamente sempre que uma função derivada de um método de tela é chamada. Um objeto de tartaruga (sem nome) é criado automaticamente sempre que qualquer uma das funções derivadas de um método de Tartaruga é chamada.‎

‎Para usar várias tartarugas em uma tela é preciso usar a interface orientada para objetos.

Aula 15: Como criar uma biblioteca em Python

Primeiro vamos entender o que são funções, módulos, bibliotecas e frameworks.

Basicamente um Módulo é composto de funções, bibliotecas são compostas por módulos e um framework é composto por bibliotecas, e ai, complicou? Então vamos pontuar cada um.

  1. Função

Função já estudamos aqui no nosso curso, mas para relembrar, função é uma sequência de instruções que tem como "função" executar alguma tarefa e esta tarefa tem um nome específico e único. O principal objetivo de uma função é de nos auxiliar a organizar o nosso programa em pedaços que correspondam a como imaginamos a lógica de programação que irá solucionar o nosso problema.


  1. Módulo

Já um arquivo módulo contem funções e comandos desenvolvidos em Python com o objetivo de serem usados em outros programas também na linguagem Python, já usamos até um módulo em nosso curso, o Turtle e como ele existem diversos outros módulos do Python que fazem parte da sua biblioteca padrão.


  1. Biblioteca

Uma biblioteca é uma coleção de módulos de script que são compatíveis a um programa escrito na linguagem Python que tem o objetivo de simplificar o trabalho de desenvolvimento de um programa pois remove a necessidade de reescrever vários comandos que são usados repetitivamente. As bibliotecas, assim como os módulos, são importadas no início de um script, habilitando assim o seu uso.


  1. Framework

Um framework em Python é um conjunto de módulos e bibliotecas que tornam a programação web mais fácil e rápida pois fornece uma série de ferramentas que serão necessárias no momento em que for de desenvolver uma determinada aplicação. Um exemplo de framework usado com Python é o Django, ele é bastante robusto e completo e por isso é considerado o melhor framework para desenvolvimento web, e ainda é gratuito e open source, podendo ser utilizado para construir qualquer tipo de site desejado.

No exemplo abaixo, tem um arquivo básico de um módulo areaCirculo.py (script da esquerda) e o script principal que importa esse módulo para calcular a área do circulo.

Pi = 3.14

def area(raio):

area_circulo = Pi * (raio ** 2)

return area_circulo

import areaCirculo

raioCirculo = 10

print(areaCirculo.Pi)

print(areaCirculo.area(raioCirculo))

Aula 16: Aprofundando em Listas e biblioteca Math

Em muitas situações organizamos nossa vida em listas como uma lista de compras, lista de cursos, lista de contatos ou uma lista de músicas no seu aplicativo de mp3, por isso a necessidade de focarmos mais um pouco em listas, ela é usada constantemente em projetos e dominá-las é essencial para ser um bom desenvolvedor.

Além delas, estudaremos a biblioteca Math, oxe, se lista é importante imagine as operações matemáticas, logo fica ligado nesta aula que ela é a base de boa parte do nosso curso.


animais = ['gato', 'cachorro', 'pinto', 'rato', 'porco']

print(len(animais))

print(animais[-1])

print('gato' in animais)

print('borboleta' not in animais)


repteis = ['calango', 'jacare', 'lagartixa']

print(animais)

print(repteis)

todos_bixos = animais + repteis

print(todos_bixos)

print(min(todos_bixos))

print(max(todos_bixos))


pesos = [25.4, 65.4, 12, 7, 8.2, 3]

print(min(pesos))

print(max(pesos))

print(sum(pesos))


animais.append('gato')

print(animais)

print(animais.count('gato'))

print(animais.index('gato'))

repteis.insert(2, 'jacare')

print(repteis)

animais.pop()

print(animais)

animais.remove('cachorro')

print(animais)

repteis.reverse()

print(repteis)

#lista animais criada

#Imprimi o tamanho da lista

#Imprimei o comprimento da lista

#Verifica se gato está na lista animais

#Confirma se borboleta não está na lista animais


#lista repteis criada

#Imprimi a lista animais

#Imprimi a nova lista repteis criada acima

#Concatena a lista animais com a lista repteis

#Imprimi a nova lista com os elementos das 2 concatenadas

#Imprimi o menor elemento da lista em ordem alfabética

#Imprimi o maior elemento da lista em ordem alfabética


#lista pesos criada

#Imprimi o menor elemento da lista em ordem numérica

#Imprimi o maior elemento da lista em ordem numérica

#Imprimi a soma de todos os elementos da lista


#Inclui o item 'gato' ao final da lista animais

#Imprimi a lista animais

#Imprimi quantas x a palavra gato foi encontrada na lista

#Imprimi o índice do primeiro 'gato' encontrado na lista animais

#Insere o item 'jacare' no indice anterior ao 2 da lista

#Imprimi a lista repteis

#Remove o último item da lista animais

#Imprimi a lista animais atualizada

#Remove a primeira ocorrência 'cachorro' da lista animais

#Imprimi a lista animais atualizada

#Inverte a ordem dos itens da lista repteis

#Imprimi a lista repteis atualizada

Problema Prático:

  1. Comece executando as instruções de atribuições:

>>> s1 = 'curso'

>>> s2 = 'de'

>>> s3 = 'python'

Agora execute a operação s1 + s2 + s3, qual será a saída?

a) 'curso de python'

b) 'python'

c) 'cursodepython'

d) 'Curso de Python'

e) Error

2. Comece executando a atribuição:

s = '0123456789'

Qual dos itens abaixo tem a função de inverter a ordem da lista?

a) s.insert( )

b) s.pop( )

c) s.remove( )

d) s.reverse( )

e) s.count( )

3. Primeiro execute a atribuição

palavras = [ 'bola', 'bila', 'cadeira', 'mesa', 'banco' ]

Agora escreva 02 expressões que pegue a primeira e a última palavra na ordem do dicionário.


4. Dada a lista de notas de trabalho de casa dos alunos

>>> notas = [ 9, 7, 7, 10, 3, 9, 6, 6, 2 ]

escreva:

a) Uma instrução que pegue todas as notas 7 e apresente o índice

b) Uma instrução que altere a última nota para 4

c) Uma instrução que apresente a nota mais alta

Aula 17: Comandos para manipulação de listas em Python


Aula 18: Projeto de Automação Industrial com Python


Aula 19: Projeto Consumo Alcool x Gasolina


Aula 20: Revisão Função em Python