Existem dois tipos númericos principais em Python:
O python como todas as linguagens de programação tem todas as operações e funções matemáticas e também podem ser utilizados como uma calculadora avançada.
Para realizar essas operações com números inteiros com números positivos e negativos é como na matemática convencional, mas dentro das regras da linguagem Python.
Soma:
8 + 12
7 - 7
Subtração:
5.2 + 1200.8
-3.1 - 7.9999
Multiplicação:
7.4 ** 2
5 ** 3
Divisão:
7.4 ** 2
5 ** 3
Módulo:
49 % 2
25 % 3
Potência:
5 ** 5
7 ** 8
Também podemos utilizar números com pontos flutuante(float) para realizar as mesmas operações.
# Soma
6.7 + 8.3 + 5
# Subtração
10.2 - 9.1
# Multiplicação
8.7 * 8.7
Na divisão ainda podemos utilizar ooperador de divisão inteira com //
15.3 / 3 # Divisão
49.9 // 3 # Divisão Inteira
Funções Built-in ou no Português Funções Internas, são funções já incorporadas na própria linguagem sem necessidade de importações ou implementações avançadas.
Para sabermos o tipo de um dado em uma variável podemos utilizar o type()
type(5.8)
type(-8)
Também podemos utilizar o TYPE para outros tipos de dados.
# Variável do tipo String
name = 'Armando'
type(name)
Podemos utilizar funções built-in como o int() para converter números para um tipo inteiro ou float() para converter para um número com ponto flutuante.
int(5.4)
int(-8.4)
float(125)
Com as funções hex podemos converter números inteiros para o padrão hexadecimal. Hexadecimal é um sistema de numeração posicional que representa os números em base 16, ou seja, utilizando 16 símbolos.
hex(3900)
hex(10)
Com a função bin podemos converter números inteiros em binário. O Sitema de Numeração Binário ou de base 2 é um sistema de numeração posicional em que todas as quantidades estão representadas com base em apenas dois números.
bin(23)
hex(7090)
Uma Variável é como um nome anexado a um objeto específico. No Python, as variáveis não precisam ser declaradas ou definidas com antecedência, como é o caso em muitas outras linguagens de programação. Para criar uma variável, basta atribuir um valor e começar a usá-lo. A atribuição é feita com um único sinal de igual (=).
teste = 1
O valor pode ser impresso na tela utilizando a função built-in print()
print(teste)
Podemos alterar o valor dessa variável, assim como exibilo em uma prompt intérprete em uma sessão REPL(Read–eval–print loop) sem a necessidade de print().
teste = 1000
teste
Também é possível fazer declarações multiplas de variáveis, seja esse a um mesmo valor, como a valores diferentes.
x, y, z = 153
x, y, z = 100, 50, 3
Em muitas linguagens de programação, as variáveis são digitadas estaticamente, como tendo inicialmente um tipo de dados específico, e qualquer valor atribuído a ela durante sua vida útil tem sempre esse tipo de valor. No Python as variáveis não estão sujeitas a esta restrição. Aqui uma variável pode receber um valor de um tipo e, posteriormente, reatribuir um valor de um tipo diferente.
example = 22.37
print(example)
# 22.37
example = 'Eu sou groot!'
print(example)
# Eu sou groot!
As variáveis em Python podem ser escritas com letras, números e underline, mas não podem começar com números.
name01 = 'Coffee'
numbers = 12321
O python é case-sensitive o que significa que as palavras depois da primeira são capitalizadas. Não se limitando a isso, assim como na maioria das linguagens de programação, podemos utilizar Snake Case ou Pascal Case na hora de escrever suas variáveis.
MyName = 'Armando Silva'
myName = 'Armando Silva'
my_name = 'Armando Silva'
As palavras reservadas em Python, nomes de funções especias no idioma. Até o Python 3.6 eram 33 palavras reservadas.
Essas palavras não podem ser usadas como nome de variáveis.
and = 'Let is go'
# SyntaxError: sintaxe inválida
Strings não apenas em Python, como na maioria das linguagens de programação, são conjuntos de caracteres de texto que podem ser compreendidos como representações de informações escritas dentro de um código
'Isso é uma String!'
Podemos criar uma string em Python usando aspas simples ou duplas e podemos imprimir uma variável com um valor tipo String usando a função built-in print()
'String com aspas simples'
"String com aspas duplas"
print("Imprimindo uma String em uma variável com aspas duplas e 'Simples'")
# É possível utilizar o \n para quebra de linha em uma STRING
print('A primeira quebra de linha.\n Segunda quebra de linha! \n')
Para fazer a indexação de uma String é necessário usar colchetes [ ] para manipular o texto de diversas formas.
index = 'Estou estudando na Data Science Academy'
print(index)
Ao indexar uma String podemos retornar o primeiro caractere index[0]
e podemos retornar qualquer caractere apartir daí.
index[0]
# 'E'
index[6]
# 'e'
Podemos usar um : para executar um slicing que faz a leitura de tudo até um ponto designado, lembrando que a indexação em Python começa pela posição 0.
# Retorna todos os elementos da string, começando pela posição até o fim da string.
index[1:]
# A String original permanece a mesma.
print(index)
# Retorna tudo até a posição 5
index[:5]
# Retorna a string inteira
index[:]
# Podemos usar indexação negativa e retorna a string de trás para frente
index[-1]
# Retornando tudo exceto o último caractere
index[:-1]
É possível utilizar a notação de índice e fatiar a string em pedaços específicos (o padrão é 1). Podemos usar dois pontos duas vezes em uma linha e, em seguida, um número que especifica a frequência para retornar elementos.
index[::1]
# 'Estou estudando na Data Science Academy'
index[::2]
# 'Etuetdnon aaSineAaey'
index[::-1]
# 'ymedacA ecneicS ataD an odnadutse uotsE'
course = 'Python Fundamentos para Análise de Dados'
Não é possível alterar uma String em Python, mas é possível concatenar uma String, mas uma String é um objeto imutável.
# Alterando um caractere
course[0] = 'J'
# Concatenando uma string
course + 'é o melhor curso de fundamentos python.'
course = course + 'é o melhor curso de fundamentos python.'
print(course)
# Podemos utilizar o símbolo de multiplicação para fazer repetição de caracteres.
letra = 'AV'
letra * 5
name = 'Data Science Academy'
Para converter uma
string
para converter um texto para caixa alta ou maiusculas podemos utilizar o método
upper()
.
# Upper Case
name.upper()
Para converter para lower case é utilizado o método lower()
.
# Lower Case
name.lower()
Para dividir uma string por espaços é utilizado o método split()
name.split()
# ['Data', 'Science', 'Academy']
O método
join()
retorna uma string na qual os elementos da sequência foram unidos por um separador str.
join_name = ''
join_name = join_name.join(name)
# 'Data Science Academy'
O método
strip()
remove os espaços em branco no começo e no final de uma
string
.
name = ' Python para Análise de Dados '
name.strip()
# 'Python para Análise de Dados'
O método
len()
mostra a quantidade de caracteres de uma
string
.
x = 'Python para Análise de Dados'
len(x)
# 28
O método
find()
localiza dentro uma
string
um conjunto de caracteres.
x = 'Python para Análise de Dados'
x.find('Dados')
# 23
Funções String são funções especificas para strings.
x = 'Seja bem-vindo ao Universo🌎 de Python'
A funçao Capitalize é utilizada para deixar o primeiro caractere como maiúscula.
x.capitalize()
# SEJA BEM-VINDO AO UNIVERSO DE PYTHON
A funçao Count retorna a primeira ocorrência do caractere dentro do primeiro conjunto caracteres em que ele está presente.
x.count('b')
# 0
A funçao Find retorna a primeira ocorrência do caractere dentro da string comleta.
x.find('b')
# 6
Operadores Relacionais são normalmente usados em contextos booleanos como instruções condicionais e de loop para direcionar o fluxo do programa, podendo ser usado com strings e vários outros tipos de dados e em contextos diferentes.
Uma lista (list) em Python é uma estrutura de dados utilizada para criar sequências ou coleções ordenadas de valores. Cada valor na lista é identificado por um índice. O valores que formam uma lista são chamados elementos ou itens.
Para criar uma lista de dados é necessário inserir os dados entre colchetes [ ].
lista_da_feira = [ 'laranjas', 'maçãs', 'farinha', 'queijo' ]
# Imprimindo uma lista em python
print(lista_da_feira)
# ['laranjas', 'maçãs', 'farinha', 'queijo']
Para imprimir um item da lista pelo indice, é utilizado a mesma marcação que em variáveis do tipo String, utilizando colchetes com o número da posição em que o item se encontra.
lista_da_feira[2]
Também é possível criar listas com vários tipos de dados diferentes já que as listas em python não possuem restrição de tipo.
# Lista com valores de tipos diferentes
lista_variada = [300, 8.2, "Análise de Dados", true]
# Definindo cada da lista a uma variável
valor_number = lista_variada[0]
valor_float = lista_variada[1]
valor_string = lista_variada[2]
valor_boolean = lista_variada[3]
Para atualizar um item em uma lista é preciso definir pelo indice qual item queremos atualizar.
lista_variada[1]
Depois é possível definir por qual item ele deve ser alterado utilizando o operador de igual =.
lista_variada[1] = 'banana'
print(lista_variada)
# [300, 8.2, 'banana', true]
Para se deletar um item especifico em uma lista é utilizada a mesma notação de indice, mas dessa vez é utilizado a função del na frente da expressão.
# Deletando um item da lista
del lista_variada[2]
# Imprimindo a lista com os dados alterados
print(lista_variada)
Como as listas em Python não tem restrição de tipo fixo, é possível fazer aninhamento de listas, ou seja, colocar listas dentro de outras listas, e até mesmo fazer o agrupamento de um conjunto de listas.
lista_de_listas = [[1, 9, 4], [23, 8, 12], [21, 22, 7.8]]
print(lista_de_listas)
# [[1, 9, 4], [23, 8, 12], [21, 22, 7.8]]
Também é possível fazer o fatiamento de listas aninhadas.
listas_tipos = [[23, 22, 15], ['Uva', 'Maçã', 'Maracujá'], [31.34, 11.97, 8.12]]
lista_de_inteiros = listas_tipos[0]
lista_de_strings = listas_tipos[1]
lista_de_floats = listas_tipos[2]
print(lista_de_inteiros, lista_de_strings, lista_de_floats)
primeiro_inteiro = lista_de_inteiros[0]
segunda_string = lista_de_strings[1]
terceiro_float = lista_de_floats[2]
print(primeiro_inteiro, segunda_string, terceiro_float)
Dicionários em Python é uma estrutura de dados formada apartir de uma coleção de items armazenada de formas não ordenada, seus elementos contém uma chave e um valor. A chave serve para indexar o elemento dentro do dicionário e o valor pode ser definido como qualquer valor aceitável ou estrutura de dados dentro do Python.
Sua sintáxe básica é formada por chaves { }, e os valores chave e valor são separados por dois pontos : dentro da sintáxe do python, ou seja dicionários são mapeamentos de chaves e valores
Existem basicamente 6 maneiras de se criar um dicionário em Python.
1ª Podemos criar um dicionário da forma mais tradicional, atribuindo dentro de uma variável a abertura de uma chave, e inserindo pares chaves e valor, separando os valores com dois pontos :
, e depois fechado chaves.
>>> feira = { 'morangos': 24, 'bananas': 18, 'laranjas': 12, 'melancias': 3 }
2ª Também é possível utilizar a função built-in dict
passando as chaves e valores como parâmetros.
>>> feira = dict(morangos=24, bananas=18, laranjas=12, melancias=3)
3ª Utilizando a função zip
para concatenar listas para chave:valor
dentro de um objeto dict
.
>>> feira = dict(zip(['moragos', 'laranjas', 'melancias'], [24, 18, 3]))
4ª Utilizando uma lista de tuplas com items simbolizando chave
e valor
em um objeto dict
.
>>> feira = dict([('laranjas', 24), ('melancias', 3), ('morangos', 36)])
5ª Utilizando um Dict Comprehensions
>>> feira = {name: idx + 1 for idx, name in enumerate(('morangos', 'laranjas', 'melancias'))}
6ª A forma mais estranha de se criar um dicionário é transformar um dicionário em dicionário.
>>> feira = dict({ 'morangos': 24, 'bananas': 18, 'laranjas': 12, 'melancias': 3 })
Para acessar um item dentro de um dicionário em python, podemos utilizar a chave dentro da indexação.
>>> profile = { name: 'Armando Silva', age: 50, height: 1.70 }
>>> profile[name]