Python Básico

8 - Diversos

8.1 - Matemática

O Python possui um conjunto de funções matemáticas integradas, incluindo um extenso módulo matemático, que permite realizar tarefas matemáticas em números.

8.1.1 - Funções matemáticas incorporadas

As funções min()e max()podem ser usadas para encontrar o valor mais baixo ou mais alto em um iterável:

Exemplo:

x = min(5, 10, 25)
y = max(5, 10, 25)
print(x)
print(y)

A abs()função retorna o valor absoluto (positivo) do número especificado:

Exemplo:

x = abs(-7.25)
print(x)

A função retorna o valor de x elevado à potência de y (x y ).pow(x, y)

Exemplo:

Retorne o valor de 4 à potência de 3 (o mesmo que 4 * 4 * 4):

x = pow(4, 3)
print(x)

8.1.2 - O módulo de matemática

Python também tem um módulo embutido chamado math, que estende a lista de funções matemáticas.

Para usá-lo, você deve importar o módulo math.

import math

Depois de importar o mathmódulo, você pode começar a usar métodos e constantes do módulo.

O método math.sqrt(), por exemplo, retorna a raiz quadrada de um número.

Exemplo:

import math
#
x = math.sqrt(64)
print(x)

O método math.ceil() arredonda um número para cima até o número inteiro mais próximo e o math.floor() método arredonda um número para baixo até o número inteiro mais próximo e retorna o resultado:

Exemplo:

import math
#
x = math.ceil(1.4)
y = math.floor(1.4)
#
print(x) # retorna 2
print(y) # retorna 1

A math.piconstante, retorna o valor de PI (3.14...):

Exemplo:

import math
#
x = math.pi 
print(x)

8.1.3 - Relação de métodos de math.

8.1.3.1 - Funções teóricas dos números e de representação

Método Descrição
ceil(x) Retorna o teto de x, o menor inteiro maior ou igual a x.
comb(n,k) Retorna o número de maneiras de escolher k itens de n itens sem repetição e sem ordem.
copysign(x,y) Retorna um ponto flutuante com a magnitude (valor absoluto) de x, mas o sinal de y.
fabs(x) Retorna o valor absoluto de x.
factorial(x) Retorna x fatorial como um inteiro.
floor(x) Retorna o piso de x, o maior inteiro menor ou igual a x.
fmod(x,y) Retorna fmod(x, y), conforme definido pela biblioteca C da plataforma.
frexp(x) Retorna a mantissa e o expoente de x como o par (m, e).
fsum(iterável) Retorna uma soma de valores de ponto flutuante precisa no iterável.
gcd(*inteiros) Retorna o maior divisor comum dos argumentos inteiros especificados.
isclose(a,b,*,rel_tol,abs_tol) Retorna True se os valores a e b estiverem próximos e False caso contrário.
isinf(x) Retorna True se x for um infinito positivo ou negativo, e False caso contrário.
isnan(x) Retorna True se x for um NaN (não um número), e False caso contrário.
isqrt(n) Retorna a raiz quadrada inteira do inteiro não negativo n.
lcm(*inteiros) Retorna o mínimo múltiplo comum dos argumentos inteiros especificados.
ldexp(x,i) Retorna x * (2**i). Este é essencialmente o inverso da função frexp().
modf(x) Retorna as partes fracionárias e inteiras de x.
nextafter(x,y) Retorna o próximo valor de ponto flutuante após x em direção a y.
perm(n,k = Nenhum) Retorna o número de maneiras de escolher k itens de n itens sem repetição e com ordem.
prod(iterável,*,start = 1) Calcula o produto de todos os elementos na entrada iterable.
remainder(x,y) Retorna o resto no estilo IEEE 754 de x em relação a y.
trunc(x) Retorne x com a parte fracionária removida, deixando a parte inteira.
ulp(x) Retorna o valor do bit menos significativo do ponto flutuante x:
expm1(x) Retorna e elevado à potência x, menos 1. Aqui e é a base dos logaritmos naturais.
log(x [,base ]) Com um argumento, retorna o logaritmo natural de x (para base e).
log1p(x) Retorna o logaritmo natural de 1+x (base e).
log2(x) Retorna o logaritmo de base 2 de x.
pow(x,y) Retorna x elevado à potência y.

8.1.3.2 - Funções trigonométricas

Método Descrição
acos(x) Retorna o arco cosseno de x, em radianos. O resultado está entre 0 e pi.
asin(x) Retorna o arco seno de x, em radianos. O resultado está entre -pi/2 e pi/2.
atan(x) Retorna o arco tangente de x, em radianos. O resultado está entre -pi/2 e pi/2.
atan2(y,x) Retorna atan(y / x), em radianos.
cos(x) Retorna o cosseno de x radianos.
dist(p,q) Retorna a distância euclidiana entre dois pontos p e q, cada um dado como uma sequência (ou iterável) de coordenadas.
hypot(*coord) Retorna a norma euclidiana, sqrt(sum(x**2 for x in coordinates)).
sin(x) Retorna o seno de x radianos.
tan(x) Retorna o tangente de x radianos.
degrees(x) Converte o ângulo x de radianos para graus.
radians(x) Converte o ângulo x de graus para radianos.

8.1.3.3 - Funções hiperbólicas

Funções hiperbólicas são análogas de funções trigonométricas baseadas em hipérboles em vez de círculos.

Método Descrição
acosh(x) Retorna o cosseno hiperbólico inverso de x.
asinh(x) Retorna o seno hiperbólico inverso de x.
atanh(x) Retorna a tangente hiperbólica inversa de x.
cosh(x) Retorna o cosseno hiperbólico de x.
sinh(x) Retorna o seno hiperbólico de x.
tanh(x) Retorna a tangente hiperbólica de x.

8.1.3.4 - Funções especiais

Método Descrição
erf(x) Retorna a função erro em x.
erfc(x) Retorna a função erro complementar em x. A função erro complementar é definida como 1.0 - erf(x). É usado para grandes valores de x onde uma subtração de um causaria uma perda de significância.
gamma(x) Retorna a função gama em x.
lgamma(x) Retorna o logaritmo natural do valor absoluto da função gama em x.

8.1.3.5 - Constantes

Método Descrição
pi A constante matemática π = 3.141592…, para a precisão disponível.
e A constante matemática e = 2.718281…, para a precisão disponível.
tau A constante matemática τ = 6.283185…, para a precisão disponível.
inf Um infinito positivo de ponto flutuante. (Para infinito negativo, use -math.inf.) Equivalente à saída de float('inf').
nan Um valor de ponto flutuante “não é um número” (NaN).

8.2 - JSON

JSON é uma sintaxe para armazenamento e troca dados, com formato texto, escrito com notação de objetos JavaScript.

Python tem um pacote embutido chamado json para a manipulação de dados no formato JSON.

Exemplo: importação do modulo json.

import json

8.2.1 - Conversão de JSON para Python

Se você tiver uma string JSON, poderá analisá-la usando o método json.loads().

O resultado será um dicionário Python.

Exemplo: convertcão de JSON para Python

import json
#
# texto JSON
x =  '{ "nome":"Roberto", "idade":30, "pais":"Brasil"}'
#
# parse x
j = json.loads(x)
#
# o resultado é um dicionário Python
#
print(j["idade"])

8.3 - Conversão de Python para JSON

Um objeto de dicionário Python pode ser convertido um texto com formato JSON com o método json.dumps().

Exemplo:

Converter de Python para JSON:

import json
#
# Um objeto Python (dict):
#
x = {
  "nome": "Roberto",
  "idade": 30,
  "cidade": "Porto Seguro"
}
#
# conversão de x para JSON:
#
j = json.dumps(x)
#
# o resultado é atribuido na variável j como texto no formato JSON
#
print(j)
print(type(j))

8.4 - RegEx

RegEx, ou Expressão Regular, é uma sequência de caracteres que forma um padrão de pesquisa, sendo usado para verificar se um texto contém o padrão de pesquisa especificado.

8.4.1 - Módulo RegEx

Python tem um pacote embutido chamado re, que pode ser usado para pesquisa com expressões regulares.

8.4.2 - Importação do módulo re

import re

8.4.3 - RegEx

Depois de importar o re módulo, você pode começar a usar expressões regulares:

Exemplo: pesquisa de texto para ver se ela começa com "Brasil" e termina com "América do Sul":

import re
#
txt = "Brasil é um país da América do Sul"
x = re.search("^Brasil.*América do Sul$", txt)
print(x)

8.4.4 - Funções RegEx

O módulo re oferece um conjunto de funções que nos permite pesquisar uma string por uma correspondência.

Método Descrição
findall() Retorna uma lista contendo todas as correspondências
search() Retorna um objeto Match se houver uma correspondência em qualquer lugar da string
split() Devolve uma lista onde a string foi dividida em cada jogo
sub() Substitui uma ou várias correspondências por uma string

8.4.5 - Metacaracteres

Metacaracteres são caracteres com um significado especial.

Seq. Descrição Exemplo
[] Um conjunto de caracteres "[a-m]"
\ Sinaliza uma sequência especial (também pode ser usada para escapar caracteres especiais) "\d"
. Qualquer caractere (exceto caractere de nova linha) "he..o"
^ Começa com "^hello"
$ Termina com "planeta$"
* Zero ou mais ocorrências "he.*o"
+ Uma ou mais ocorrências "he.+o"
? Zero ou uma ocorrência "he.?o"
{} Exatamente o número especificado de ocorrências "he.{2}o"
| Ou "cai|fica"
() Capturar e agrupar

8.4.6 - Sequências Especiais

Uma sequência especial é o conjunto e tem com um significado especial composto pelo caracter "\" (barra invertida) seguida por um dos caracteres na lista abaixo.

Seq. Descrição Exemplo
\A Retorna uma correspondência se os caracteres especificados estiverem no início da string "\AThe"
\b Retorna uma correspondência onde os caracteres especificados estão no início ou no final de uma palavra. (o "r" no início está certificando-se de que a string está sendo tratada como uma "string bruta") r"\bain" r"ain\b"
\B Retorna uma correspondência onde os caracteres especificados estão presentes, mas NÃO no início (ou no final) de uma palavra. (O "r" no início está certificando-se de que a string está sendo tratada como uma "string bruta") r"\Bain" r"ain\B"
\d Retorna uma correspondência em que a string contém dígitos (números de 0 a 9) "\d"
\D Retorna uma correspondência onde a string NÃO contém dígitos "\D"
\s Retorna uma correspondência onde a string contém um caractere de espaço em branco "\s"
\S Retorna uma correspondência onde a string NÃO contém um caractere de espaço em branco "\S"
\w Retorna uma correspondência em que a string contém qualquer caractere de palavra (caracteres de a a Z, dígitos de 0 a 9 e o caractere sublinhado _) "\w"
\W Retorna uma correspondência em que a string NÃO contém nenhum caractere de palavra "\W"
\Z Retorna uma correspondência se os caracteres especificados estiverem no final da string "Spain\Z"

Arduino
Coautor
Betobyte
Autor
Autores
||| Áreas ||| Estatística ||| Python ||| Projetos ||| Dicas & Truques ||| Cursos || Python para Iniciantes || Python Básico || Matplotlib || Numpy || Seaborn || Pandas || Django || Estatística para Cientistas de Dados || Python com ML Básico || Aulas | Introdução (sintaxe, comentários, variáveis, tipos) | Instalação (instalação, execução) | Sintaxe e semântica (sintaxe, semântica, variáveis, tipos de dados, blocos e recuos, comentários) | Tipos (números, strings, boleanos, datas, listas, tuplas, conjuntos, dicionarios, conversão) | Operadores (aritméticos, atribuição, comparação, lógicos, identidade, associação, bitwise) | Blocos (se-senão, laços, funções, classes, iteradores, escopo) | Entrada/Saída (teclado, tela, arquivo) | Diversos (matemática, json, regex) | Módulos (pip, instalação, importação) |
PlataformaCIEDA