<jupyter_start><jupyter_text>Data Types_Overview_ sobre os principais tipos de dados em **Python**.- Data types    * Numbers    * Strings    * Printing    * Lists    * Dictionaries    * Booleans    * Tuples     * Sets NumbersOs principais tipos numéricos em python são `int` e `float`, e também há o tipo `complex` representando o conjunto dos números complexos.<jupyter_code>1, type(1)
1., type(1.)<jupyter_output><empty_output><jupyter_text>OperaçõesAmbos, `int` e `float`, suportam diversas operações aritméticas, tais como:<jupyter_code># Adição
1 + 1
# Subtração
1 - 1
# Multiplicação
2 * 3
# Divisão
5 / 2
# Divisão inteira
5 // 2
# Módulo (resto da divisão inteira)
5 // 2
# Exponenciação
3 ** 2
# Como na matemática, certas operações possuem prioridade assim como operações entre parentesis
2 + 5 * 5 + 3, (2 + 5) * (5 + 3)<jupyter_output><empty_output><jupyter_text>Atribuição de variáveisEm **Python** não há uma palavra reservada para declaração de variáveis, elas são declaradas dinamicamente ao atribuir (com o operador de atribuição `=`) algum valor para o nome da variável.Caso tente acessar uma variável que nunca foi declarada, resultará em um erro.<jupyter_code>variable = 42<jupyter_output><empty_output><jupyter_text>Strings`strings` são úteis para armazenar valores textuais, sequências de caracteres, e podem ser declaradas de 3 formas.<jupyter_code># Apóstrofo ("aspas simples")
'texto 1'

# Aspas duplas
"texto 2"

# Docstring (usada principalmente para documentação) o texto fica entre 3 pares de aspas duplas ou simples
'''forma 1'''
"""forma 2"""

type(str())<jupyter_output><empty_output><jupyter_text>Print FormattingÉ comum utilizar a função `print` para exibir mensagens no console, e as vezes é preciso formatar essa saída de acordo com alguma variável.<jupyter_code>name = 'Anilton'
year = 2020

# utilizando .format, passando os argumentos em ordem
print('1. Meu nome é {} e este ano é {}'.format(name, year))

# utilizando .format com chaves mapeadas, assim os argumentos não necessitam mais estar em ordem.
print('2. Meu nome é {one} e este ano é {two}'.format(two=year, one=name))

# com f antes da string, as variáveis podem ser colocadas diretamente entre chaves, porém pode não funcionar se houverem multiplass funções dentro
print(f'3. Meu nome é {name} e este ano é {year}')
# string é uma estrutura indexada, então seus elementos podem ser acessados por um índice ou uma "fatia"
string = 'string'
string[0], string[5], string[-1], string[1:4]<jupyter_output><empty_output><jupyter_text>ListsListas são estruturas indexadas, armazenam uma sequência de elementos que podem ser de multiplos tipos, pondendo até armazenar listas dentro de listas<jupyter_code>vetor = [5, 4, 3, 2]
vetor
vetor.append(1)
vetor
sum(vetor)<jupyter_output><empty_output><jupyter_text>DictionariesDicionários armazenam um par chave-valor que podem ser criados dinamicamente, onde o valor pode ser qualquer tipo de dado, até mesmo outros dicionários.<jupyter_code>dicionario = {'key1':'value1', 'key2':42}
dicionario
dicionario['key1']<jupyter_output><empty_output><jupyter_text>BooleansDados do tipo `boolean` são verdadeiro ou falso.<jupyter_code>verdadeiro = True
falso = False

verdadeiro and falso<jupyter_output><empty_output><jupyter_text>TuplesTuplas são como listas, armazenam dados heterogêneos e que podem ser acessados por um índice, a principal diferença é que uma tupla é declarada com parêntesis e seus ítens não podem ser alterados após declarados.<jupyter_code>tup = (1, 'b', 'ce')
tup<jupyter_output><empty_output><jupyter_text>SetsConjuntos são coleções de elementos únicos, limitados por chaves e diferencia-se de um dicionário por seus elementos não serem numa estrutura chave-valor<jupyter_code>conjunto = {1, 1, 1, 2, 3, 'top', 'top', 2}
conjunto, type(conjunto)
1 in conjunto<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.08975026014568158, 'fraction_numerical': 0.016909469302809572, 'mean_word_length': 5.841637010676156, 'pattern_counts': {'":': 0, '<': 41, '<?xml version=': 0, '>': 41, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '10', 'dir': 'jupyter-structured-clean-dedup', 'id': '477386', 'license': 'MIT', 'n_tokens_mistral': 1434, 'n_tokens_neox': 1376, 'n_words': 453, 'path': 'python/01-crash-course/001-data_types.ipynb', 'repo_name': 'newtmagalhaes/Data-Science', 'size': '3844'}