bool(0), bool(1), bool(1811275162543)9 Outros Tópicos
Outros tópicos. Abaixo alguns possíveis de serem abordados.
9.1 Funções Base
Referência: https://docs.python.org/3/library/functions.html
9.1.1 Funções relacionadas à tipos de variáveis
float(10), float(3.5), float('3.5')int('8'), int(10.7)
str(8)type([1, 2])9.1.2 Funções sobre iteráveis
my_list = ['São Paulo', 'Flamengo']
# o que é um iterável?
enumerate(my_list), list(enumerate(my_list))
#type(enumerate(my_list))#sem enumerate:
index = 0
for i in my_list:
print('Parabéns ' + i + '! Você ficou em ' + str(index + 1) + 'º lugar!')
index += 1#com enumerate:
for index, i in enumerate(my_list):
print('Parabéns ' + i + '! Você ficou em ' + str(index + 1) + 'º lugar!')
print("cof cof Copa do Brasil cof cof")def maior_que_dois(x):
return x > 2
#Ou utilizar uma função anônima "lambda": lambda x: x > 2
my_list = [1,2,3,4]
print(list(filter(maior_que_dois, my_list)))
print(list(filter(lambda x: x>2, my_list)))my_map = list(map(maior_que_dois, my_list)) # map: aplicar uma função para todos os itens
my_mapprint(my_list)
print(my_map)
[my_list, my_map]
[(my_list[i], my_map[i]) for i in range(4)]
list(zip(my_list, my_map))
# zip(): une tuplas, mas é um objeto próprio
# → precisa fazer tuple(zip()) para ver a tupla mesmo9.1.3 Funções sobre criação de variáveis
dict(zip(my_list, my_map))list()set([1,2,2,3,4])tuple(my_list)type((1, 2))9.1.4 Outras funções
format() #formata strings (setá tratada na aula de REGEX)my_list, repr(my_list), eval(repr(my_list)), eval('1+2')
# eval(): avalia um string para ver se tem como fazer contas lá dentro → se der, devolve quanto que dáinput() #recebe algum valor do terminal
input("A aula tá legal? ")9.1.5 Funções matemáticas e lógicas
abs() #módulo
divmod(número, divisor) #divisão (parte inteira, resto)
max()
min()
pow(base, expoente)
round(número, digitos)
sum()
all([True, True, False]) # True se todos os argumentos são true
any([True, True, False]) # True se pelo menos um argumento é verdadeiroabs(-3), abs(3)divmod(7, 5)round(3.1263817241864518742612, 4)9.2 Bibliotecas
Agora partimos para funções externas
9.2.1 Como instalar bibliotecas
Referência: https://packaging.python.org/en/latest/tutorials/installing-packages/
Checar instalação do python (digitar no terminal): > py –version
Checar instalação do pip, o instalador de pacotes: > py -m pip –version
Instalar o pacote pelo nome: > py -m pip install nome_do_pacote
9.2.2 Módulo math
Referência: https://docs.python.org/3/library/math.html
import mathround(math.pi, 3)math.ceil()
math.floor()
math.trunc()
math.modf(5.256) #(0.2560000000000002, 5.0)math.comb(k_items, n_opções) #n! / (k! * (n - k)!) ) (sem ordem, sem repetição)
math.perm(k_items, n_opções) #n! / (n - k)! (com ordem, sem repetição)
math.factorial(n)math.gcd() #mdc
math.lcm() #mmc# abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
# rel_tol = tolerância relativa
# abs_tol = tolerância absoluta
print(m.isclose(5, 10, rel_tol=0.49, abs_tol=0))
print(m.isclose(5, 10, rel_tol=0, abs_tol=5))math.isfinite()
math.isinf()2**(0.5), math.sqrt(2)print(math.dist((0,0), [1,1])) # distância euclidiana
print(math.hypot(1,1,1,1,1)) # norma euclidiana → distância da origem até o pontomath.cos(), math.sin(), math.tan() #etc.
math.degrees(), math.radians() #conversão de um pro outromath.e, math.pi, math.inf9.2.3 Módulo statistics
Referência: https://docs.python.org/3/library/statistics.html
import statistics as statstat.mean()
stat.geometric_mean()
stat.harmonic_mean()
stat.median()
stat.mode('aaabbb'), stat.multimode('aaabbbc') #('a', ['a', 'b'])stat.quantiles(iterable, n_quantis, method) #método 'inclusive' se a amostra tiver os maiores valores da população, e 'exclusive' (default) c.c.stat.stdev(), stat.pstdev()
stat.variance(), stat.pvariance()
#versões amostrais e populacionais, respectivamentestat.covariance()
stat.correlation()9.2.4 Módulo random
Referência: https://docs.python.org/3/library/random.html
import random as rdrd.seed(seed)rd.randint(1, 10), rd.random()rd.choices(my_list, weights=[0, 10, 80, 10], cum_weights=None, k=10)
#rd.choices(my_list, weights=None, cum_weights=[0, 10, 90, 100], k=10)print(my_list)
rd.shuffle(my_list) #nenhum output
my_list #alterou a listaprint(rd.sample(my_list, len(my_list), counts=None)) #nova lista
print(my_list) #não alterou a lista
print(rd.sample(my_list, 7, counts=[1, 2, 5, 2]))
#a lista usada foi [3, 2, 2, 4, 4, 4, 4, 4, 1, 1]rd.uniform(2, 8)
rd.gauss(mu, sigma)9.3 Funções Sobre Manipulação de Texto
9.4 Funções Não Essenciais
9.4.1 Funções relacionadas à tipos de variáveis
bin(10)
hex(445125215) # números hexadecimais
int('1000', 2) # "1000 base 2"
ord('a'), chr(97) # o item numero 97 no 'dicionário' UNICODE
#chr(ord('a'))
#ord(chr(98))9.4.2 Funções sobre armazenamento de variáveis
a = 10 #lembre deste 10!
repr(dir())
# repr: retorna um string do objeto
# dir: todas os nomes no diretório atualrepr(dir([1,3]))list(globals().items())[1:5]dict(list(globals().items()))
dict(list(globals().items()))['__name__']9.4.3 Outras funções
open(file_path, mode) #abre um arquivo
#Mode: 'r', 'w', 'x', 'a'; '+'; 'b' ou 't'
# 'r' = read
# 'w' = write
# 'x' = Create
# 'a' = Append
# 'b' = Binary
# 't' = Texthelp() #abre o prompt de ajuda no terminal9.4.4 Módulo os
Referência: https://docs.python.org/3/library/os.html, https://www.youtube.com/watch?v=tJxcKyFMTGo
import osrepr(dir(os))os.getcwd()
os.chdir('/User/Michel')os.listdir()os.rmdir('aulas gvcode')
os.removedirs('name/subname')os.rename('text.txt', 'new.txt')os.stat('text.txt') #tamanho, data de criação e modificação, etc9.4.5 Módulo ScyPy
Referências: https://docs.scipy.org/doc/scipy/tutorial/index.html#user-guide
- Estatística: https://scipy.github.io/devdocs/reference/stats.html
- Otimização: https://scipy.github.io/devdocs/reference/optimize.html
- Álgebra linear: https://scipy.github.io/devdocs/reference/linalg.html
- Interpolação: https://scipy.github.io/devdocs/reference/generated/scipy.interpolate.interp1d.html#scipy.interpolate.interp1d
import scipy.statsscipy.stats.linregress(x, y)Aqui, as funções menos essenciais, de consulta para vocês.
Referência: https://docs.python.org/3/library/functions.html