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
= ['São Paulo', 'Flamengo']
my_list
# o que é um iterável?
enumerate(my_list), list(enumerate(my_list))
#type(enumerate(my_list))
#sem enumerate:
= 0
index for i in my_list:
print('Parabéns ' + i + '! Você ficou em ' + str(index + 1) + 'º lugar!')
+= 1 index
#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
= [1,2,3,4]
my_list print(list(filter(maior_que_dois, my_list)))
print(list(filter(lambda x: x>2, my_list)))
= list(map(maior_que_dois, my_list)) # map: aplicar uma função para todos os itens
my_map my_map
print(my_list)
print(my_map)
[my_list, my_map]
for i in range(4)]
[(my_list[i], my_map[i]) list(zip(my_list, my_map))
# zip(): une tuplas, mas é um objeto próprio
# → precisa fazer tuple(zip()) para ver a tupla mesmo
9.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)
repr(my_list), eval(repr(my_list)), eval('1+2')
my_list, # 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 é verdadeiro
abs(-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 math
round(math.pi, 3)
math.ceil()
math.floor()
math.trunc()5.256) #(0.2560000000000002, 5.0) math.modf(
#n! / (k! * (n - k)!) ) (sem ordem, sem repetição)
math.comb(k_items, n_opções) #n! / (n - k)! (com ordem, sem repetição)
math.perm(k_items, n_opções) math.factorial(n)
#mdc
math.gcd() #mmc math.lcm()
# 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 ponto
#etc.
math.cos(), math.sin(), math.tan() #conversão de um pro outro math.degrees(), math.radians()
math.e, math.pi, math.inf
9.2.3 Módulo statistics
Referência: https://docs.python.org/3/library/statistics.html
import statistics as stat
stat.mean()
stat.geometric_mean()
stat.harmonic_mean()
stat.median()'aaabbb'), stat.multimode('aaabbbc') #('a', ['a', 'b']) stat.mode(
#método 'inclusive' se a amostra tiver os maiores valores da população, e 'exclusive' (default) c.c. stat.quantiles(iterable, n_quantis, method)
stat.stdev(), stat.pstdev()
stat.variance(), stat.pvariance()#versões amostrais e populacionais, respectivamente
stat.covariance() stat.correlation()
9.2.4 Módulo random
Referência: https://docs.python.org/3/library/random.html
import random as rd
rd.seed(seed)
1, 10), rd.random() rd.randint(
=[0, 10, 80, 10], cum_weights=None, k=10)
rd.choices(my_list, weights#rd.choices(my_list, weights=None, cum_weights=[0, 10, 90, 100], k=10)
print(my_list)
#nenhum output
rd.shuffle(my_list) #alterou a lista my_list
print(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]
2, 8)
rd.uniform( 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
= 10 #lembre deste 10!
a repr(dir())
# repr: retorna um string do objeto
# dir: todas os nomes no diretório atual
repr(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' = Text
help() #abre o prompt de ajuda no terminal
9.4.4 Módulo os
Referência: https://docs.python.org/3/library/os.html, https://www.youtube.com/watch?v=tJxcKyFMTGo
import os
repr(dir(os))
os.getcwd()'/User/Michel') os.chdir(
os.listdir()
'aulas gvcode')
os.rmdir('name/subname') os.removedirs(
'text.txt', 'new.txt') os.rename(
'text.txt') #tamanho, data de criação e modificação, etc os.stat(
9.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.stats
scipy.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