Introdução
Sobre
Por ser uma linguagem de programação relativamente simples e de alto nível, Python é muito usada como primeira linguagem e inicio de estudos em diversas universidades.
Python é utilizado em diversas áreas, como criação de scripts, desenvolvimento back-end, criação de jogos, aplicações web e ciência de dados.
Em novembro de 2021, Python é considerada a linguagem mais popular no mundo segundo o TIOBE Index.
Características
Python é uma linguagem interpretada—utiliza um interpretador para analisar e executar código.
Também é um software de código aberto, e ser uma linguagem bastante popular há muitas bibliotecas de terceiros.
Quando e Como Surgiu?
O início da implementação da linguagem Python se deu em 1989 por Guido van Rossum no Centro de Matemática e Tecnologia da Informação (CWI), na Holanda. Foi criada inicialmente para uso no sistema operacional Amoeba, sucedendo a linguagem de programação ABC.
Introdução
Sobre
Por ser uma linguagem de programação relativamente simples e de alto nível, Python é muito usada como primeira linguagem e inicio de estudos em diversas universidades.
Python é utilizado em diversas áreas, como criação de scripts, desenvolvimento back-end, criação de jogos, aplicações web e ciência de dados.
Em novembro de 2021, Python é considerada a linguagem mais popular no mundo segundo o TIOBE Index.
Características
Python é uma linguagem interpretada—utiliza um interpretador para analisar e executar código.
Também é um software de código aberto, e ser uma linguagem bastante popular há muitas bibliotecas de terceiros.
Quando e Como Surgiu?
O início da implementação da linguagem Python se deu em 1989 por Guido van Rossum no Centro de Matemática e Tecnologia da Informação (CWI), na Holanda. Foi criada inicialmente para uso no sistema operacional Amoeba, sucedendo a linguagem de programação ABC.
Primeiros Passos
Instalação do Python
Para começarmos a utilizar o Python, será necessário instalá-lo. Isso pode ser feito consegue fazer isso através do site oficial.
No Windows, é possível instalar diretamente no terminal utilizando o gerenciador
de pacotes do próprio sistema operacional com o comando
winget install --id=Python.Python.3
.
Editor de Código
Para poder programar é recomendado utilizar um editor de texto apropriado, como PyCharm—que é próprio para o Python—ou Visual Studio Code—que é mais abrangente.
Executar
Existem várias formas de executar um script Python, e uma maneira simples e
universal é utilizar o terminal. Executando o comando python
seguido do nome
de um arquivo com o código-fonte, o mesmo será executado. Alternativamente, é
possível executar python
sem argumentos; nesse caso será iniciado um
read–eval–print loop no terminal, onde o código digitado será interpretado em
tempo real.
Criando Nosso Primeiro Programa
Uma das funcionalidades mais simples que muitas linguagens de programação
possuem é a exibição de texto. Para fazer isso em Python, utilizamos a função
print
("imprimir"). Exibiremos como exemplo a frase "Olá, Mundo!"—superstição
comum em programadores.
print("Olá, Mundo!")
Entre os parênteses após print
está nossa mensagem, denotada entre aspas
duplas para que seja interpretada como tal pelo Python. Após a execução do
código acima, será exibido "Olá, Mundo!".
Entrada de Dados
Agora que já aprendemos como exibir algo na tela e sobre variáveis, vamos aprender como "pegar" dados de um usuário.
Digamos que você queira fazer uma calculadora. Para que sejam realizadas as operações, é necessário ler valores informados pelo usuário.
Para isso temos a função input
, que permite, você ler dados inseridos pelo
usuário. Veja um exemplo:
input("Pedindo entrada do usuário")
Como visto, aspas duplas denotam um literal string—um pedaço de texto—que será exibido na tela durante a execução da função. No caso de nossa calculadora , podemos utilizar:
input("Digite o primeiro operando: ")
Essa invocação de input
apenas lê o que o usuário digitar mas esse valor não é
armazenado em lugar algum. Podemos dar um nome a esse valor, assim ele não é
descartado:
n1 = input("Digite o primeiro operando: ")
No caso acima, a entrada do usuário será armazenada e acessível na variável
n1
.
Tipagem dinâmica
Python utiliza o conceito de tipagem dinâmica, ou seja, o tipos dos objetos em um programa podem variar durante a execução.
Ao fazemos uma entrada, como n = input("Digite um número: ")
Estamos
simplesmente lendo um valor e inserindo na variável n
. Embora a mensagem
sugira que n
receberá um número, a função input
retorna uma string
(sequência de caracteres). n
, então, é inicialmente uma string. Isso pode
ser verificado com a função type
: type(n)
.
Se quisermos forçar que a entrada seja interpretada como um número, devemos
converter seu tipo utilizando um construto chamado cast. No nosso caso o
cast será feito utilizando a função int
, que retorna um número inteiro a
partir de uma string:
n = int(input("Digite um número: "))
Dessa forma, a string retornada é transformada em um número inteiro; assim,
n
agora é um inteiro.
Além da função int
, há funções similares como str
(produz uma string) e
float
(produz um número real).
Tipos
Alguns dos tipos preexistentes no Python são os seguintes.
-
str
(popularmente string): Representa uma cadeia de caracteres, como"abc"
:>>> a = 'codinStruct' >>> type(a) <type 'str'>
-
int
: Representa um número inteiro, como59
:>>> a = 1 >>> type(a) <type 'int'>
-
float
: Representa um número real, como3,14
:>>> a = 1.0 >>> type(a) <type 'float'>
-
bool
: Pode alternar entre os valores lógicosTrue
(verdade) eFalse
(falsidade).>>> a = True >>> type(a) <type 'bool'>
Operações Aritméticas
Assim como na maioria das linguagens, para se fazer cálculos em Python, usamos alguns operadores, são eles:
Operador | Significado |
---|---|
* | Realiza multiplicação |
+ | Realiza adição |
- | Realiza subtração |
/ | Realiza divisão |
% | O resto de uma divisão |
Alguns exemplos de operações e seus resultados:
n1 = 10
n2 = 2
resultado1 = n1 * n2 | # Resulta em 20
resultado2 = n1 + n2 | # Resulta em 12
resultado3 = n1 - n2 | # Resulta em 8
resultado4 = n1 / n2 | # Resulta em 5
resultado5 = n1 % n2 | # Resulta em 0: o resto da divisão e 10 por 2 é 0
Comentários
Comentários em Python começam com o caractere cerquilha #
e se estendem até o
final da linha. Um comentário pode aparecer no início da linha ou após espaço em
branco, ou código, mas não dentro de um literal string.
Comentários devem ser usados para dar uma visão geral do código e fornecer informação adicional que não esteja prontamente disponível no próprio código. Comentários devem conter somente informações relevantes para a leitura e entendimento do programa.
Listas
Lista é um tipo de dado para armazenar coleção de dados. Apesar da simplicidade para ser usada, tem uma grande utilidade, onde é possível guardar vários tipos de dados, dentro de uma lista. Para começarmos, vamos entender como se cria uma lista:
Para criarmos uma lista, usamos []
e os dados dentro da lista. Vale a pena lembrar que, as listas podem armazenar quaisquer tipos de dados, inclusive, listas.
Vamos a alguns exemplos:
- Listas de Strings:
lista = ["Maçã", "Banana", "Melancia"]
print(lista)
# O Resultado é: ['Maçã', 'Banana', 'Melancia']
- Lista de Inteiros:
lista = [1, 2, 3, 4]
print(lista)
# O Resultado é: [1, 2, 3, 4]
- Listas de Booleans:
lista = [True, False, True, True]
print(lista)
# O Resultado é: [True, False, True, True]
- Lista de Listas:
lista1 = ["João", 21, False]
lista2 = [1, 2, 3, 4]
lista3 = [True, False, True, True]
lista = [lista1, lista2, lista3]
print(lista)
# O Resultado é: [['João', 21, False], [1, 2, 3, 4], [True, False, True, True]]
Mais sobre listas
Para se acessar um valor específico de uma lista, basta acrescentar o valor do seu índice
. Caso você não esteja familiarizado, os índices começam em 0. Vamso a um exemplo:
# ÍNDICES: 0 1 2
lista = ["João", 21, "Estudante"]
print(lista[2])
# O Resultado é: ['Estudante']
Propriedades
As listas tem alguma diferenças, de outros tipos de dados usados para armazenar coleções, como por exemplo:
- Ordenado:
A lista é ordenada, ou seja, a cada item adicionado, ele ficará na ordem em que foi adicionado.
lista = ["A", "B", "C"]
print(lista)
# Saída: ['A', 'B', 'C']
- Mutável:
A lista pode ser alterada, ou seja, podemos adicionar, remover ou alterar itens dela.
lista = ["A", "B", "C"]
lista[2] = 10
print(lista)
# Saída: ['A', 'B', 10]
- Duplicados:
A lista permite que se tenha valores duplicados, como ela é indexada, é possível adicionar itens duplicados tranquilamente.
lista = ["A", "B", "C", "B"]
print(lista)
# Saída: ['A', 'B', 'C', 'B']
Tuplas
Parecida com Listas, a Tupla também é usada para armazenar coleções de dados. Diferente das Listas, que são inicializadas com []
, as tuplas são iniciadas com ()
.Vejamos alguns exemplos de como funcionam as Tuplas:
tupla = ("Maçã", "Banana", "Melancia")
print(tupla)
# Saida: ('Maçã', 'Banana', 'Melancia')
Muito semelhante as Listas, as Tuplas possuem propriedades parecidas com as listas, como por exemplo, elas são ordenadas, e seus itens podem ser acessados atraves de index [1]
:
tupla = ("Maçã", "Banana", "Melancia")
print(tupla[1])
# Saida: Banana
Propriedades
- Ordenado:
A tupla é ordenada, ou seja, a cada item adicionado, ele ficará na ordem em que foi adicionado.
tupla = ("A", "B", "C")
print(tupla)
# Saída: ('A', 'B', 'C')
- Imutável:
Diferente da Listas, a tupla NÃO pode ser alterada, ou seja, não podemos adicionar, remover ou alterar itens após a criação dela.
tupla = ("A", "B", "C")
tupla(2) = 10
print(tupla)
# Saída: ERRO
- Duplicados:
A tupla permite que se tenha valores duplicados, como ela é indexada, é possível adicionar itens duplicados tranquilamente.
tupla = ("A", "B", "C", "B")
print(tupla)
# Saída: ('A', 'B', 'C', 'B')
Conjuntos
Os conjuntos, semelhantemente a Lista e Tupla, são usados para armazenar coleções de dados. Vejamos um exemplo de sua implementação:
conjuntos = {"Maçã", "Banana", "Melancia"}
print(conjuntos)
# Saída: {'Maçã', 'Banana', 'Melancia'}
Os conjuntos contém algumas diferenças de propriedades comparadas com uma Lista e uma Tupla, como por exemplo, não existe índice (Não é possível acessar um item do conjunto com [1]
)
conjunto = {"Maçã", "Banana", "Melancia"}
print(conjunto[1])
# Saida: ERRO
Propriedades
- NÃO Ordenado:
Os conjuntos não são ordenados, ou seja, a ordem em que eles são criados, não são a ordem que serão exibidos.
conjunto = {"A", "B", "C"}
print(conjunto)
# Saída: {'C', 'A', 'B'}
- Imutável:
Os cojuntos NÃO podem ser alterados, ou seja, não podemos adicionar, remover ou alterar itens após a criação de um cojunto.
conjunto = {"A", "B", "C"}
conjunto[2] = 10
print(conjunto)
# Saída: ERRO
- Duplicados:
A conjunto NÃO permite valores duplicados, como não é indexada, não é possível adicionar itens duplicados.
conjunto = {"A", "B", "C", "B"}
print(conjunto)
# Saída: {'A', 'C', 'B'}
Dicionário
Os dicionários, são tipos de dados também usados para armazenar coleções de dados, porém, os dicionários tem uma particularidades, onde os índices, são selecionados por quem está os criando, ou seja, se na lista temos os índices [0], [1], etc
, nos dicionários temos índices criados da forma como queremos, por exemplo ["nome"]
. Vejamos alguns exemplos:
dicionario = {"nome": "João", "idade": 21}
print(dicionario)
# Saída: {'nome': 'João', 'idade': 21}
Para acessarmos algum atributo específico, procuramos por sua chave:
dicionario = {"nome": "João", "idade": 21}
print(dicionario["nome"])
# Saída: João
print(dicionario["idade"])
# Saída: 21
Propriedades
- Ordenados
Quando dizemos que os dicionários estão ordenados, significa que os itens tem uma ordem definida e essa ordem não será alterada.
dicionario = {"nome": "João",
"idade": 21}
print(dicionario)
# Saída: {'nome': 'João', 'idade': 21}
- Mutável
Os dicionários podem ser alterados, o que significa que podemos alterar, adicionar ou remover itens após a criação do dicionário.
dicionario = {"nome": "João",
"idade": 21}
dicionario["nome"] = "Elias"
print(dicionario)
# Saída: {'nome': 'Elias', 'idade': 21}
- Duplicatas
Os dicionário não permitem chaves(índices) duplicados, ou seja, não podemos ter o seguinte caso:
dicionario = {"nome": "João",
"idade": 21
"nome": "Elias"}
print(dicionario)
# Saída: ERRO
Alteração em coleções
Temos várias coleções, e podemos fazer várias alterações, conforme já foi passado no curso, temos conjuntos
, dicionario
, tuplas
, listas
. Vamos conhecer mais sobre cada uma delas.
Listas
Para acessarmos um valor de uma lista, procuramos pelo seu índice [1]
, por exemplo:
lista = [1, 2, 3, 4]
print(lista[2])
# Saída: 3
Para acessarmos apenas alguns itens da lista, podemos usar a seguinte sintaxe: [:]
, o valor colocado antes do :
, será usado como o início de onde você quer exibir os itens, consequentemente, o valor colocado depois, será até quanto, caso a esquerda fique vazio, será entendido como o primeiro, se o da direita ficar vazio, será considerado o último por exemplo:
lista = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(lista[2:])
# Saída: [3, 4, 5, 6, 7, 8, 9]
print(lista[2:3])
# Saída: [3]
print(lista[:3])
# Saída: [1, 2, 3]
Para procurarmos algo em uma lista, podemos usar a seguinte estrutura:
lista = ["Maçã", "Banana", "Melancia"]
if "Maçã" in thislist:
print("Sim, 'Maçã' existe nesta lista!")
# Saída: Sim, 'Maçã' existe nesta lista!
Para inserirmos um item na lista em determinada posição, usamos insert
, vejamos o exemplo:
lista = ["Maçã", "Banana", "Melancia"]
lista.insert(2, "Goiaba")
print(lista)
# Saída: ['Maçã', 'Banana', 'Goiaba', 'Melancia']
Para inserirmos um item no final da lista, usamos append
, vejamos um exeplo:
lista = ["Maçã", "Banana", "Melancia"]
lista.insert("Goiaba")
print(lista)
# Saída: ['Maçã', 'Banana', 'Melancia', 'Goiaba']
Para adicionarmos uma coleção no final de uma lista, usamos extend
, veja o exemplo:
lista = ["Maçã", "Banana", "Melancia"]
lista2 = ["Limão", "Laranja"]
lista.extend(lista2)
print(lista)
# Saída: ['Maçã', 'Banana', 'Melancia', 'Limão', 'Laranja']
Para removermos um item da lista, temos várias soluções, vejamos os exemplo abaixo:
lista = ["Maçã", "Banana", "Melancia"]
lista.remove("Melancia") # remove o item citado
lista.pop(2) # remove o item de index 2
lista.pop() # remove o último item
del lista[2] # remove o último item
print(lista)
# Saída em todos os casos: ['Maçã', 'Banana']
del lista # remove a lista inteira
print(lista)
# Saída: ERRO
lista.clear()
print(lista) #Limpa a lista
# Saída: []