Universidade do Estado do Rio de Janeiro
Instituto de Química
Prof André Luís Alberton
Índice

Funções¶

Funções são procedimentos que retornam saídas a partir de entradas. A estrutura básica é a seguinte, ilustrada para duas variáveis de entrada e duas variáveis de saída.

def nome_da_funcao(var_entrada_1,var_entrada_2)
    procedimentos
    return var_saida1, var_saida2

Vejamos alguns exemplos:


Exemplo - uma função simples com um argumento de entrada e um de saída

A seguinte função por exemplo, retorna o quadrado de um número.

# definindo a função
def quadrado(x):
    return x**2 

# agora podemos usar a função
a = 2
b = quadrado(a)
print(b)

Que retorna o resultado 4.

Vejamos outros exemplos e usos de funções.


Exemplo - função com duas variáveis de entrada e duas de saída

A seguinte função por exemplo, recebe dois números, os soma e os subtrai como saídas da função.

# definindo a função
def soma_subtracao(a,b):
    c = a + b
    d = a - b
    return c,d

# agora podemos usar a função
x = 4
y = 3
w,z = soma_subtracao(x,y)
print(w,z)

O resultado retorna w = 7 e z = 1

Importante: note que as variáveis localmente definidas no meio da função (a, b, c, d) não precisam ter os mesmos nomes que as variáveis globalmente definidas (x, y, w, z).


Exemplo - uso de variáveis globais e locais

A seguinte função por exemplo, recebe dois números, os soma e os subtrai como saídas da função. Porém, faz uso de variáveis p e q, sendo p uma global e q uma que existe tanto globalmente quanto localmente. No caso de variáveis que existem globalmente e localmente, o python dá preferência à variável local na função.

# definindo a função
def soma_subtracao(a,b):
    q = 1
    c = a + b + p
    d = a - b + q
    return c,d

# agora podemos usar a função
x = 4
y = 3
p = 10
q = 100
w,z = soma_subtracao(x,y)
print(w,z)

O resultado retorna w = 17 e z = 2

Importante: note que para o cálculo de d foi empreado o valor de q como 1, que está definido localmente na função, ao invés de usar a variável global q com valor de 100.


Exemplo - cálculo da fração molar a partir da fração mássica

Por exemplo, para calcular as frações molares dadas as frações mássicas e massas molares, a relação é escrita da seguinte forma.

$$ x^{mol}_i = \frac{\frac{x^{max}_i}{MM_i}}{\sum_i{\frac{x^{max}_i}{MM_i}}} $$

A função que efeuta o cálculo está apresentada abaixo, exemplificada para uma mistura água,etanol, metanol.

# definindo a função
def mas_p_mol(xmas,MM):
    n = len(xmas) # captura a dimensão do vetor de frações mássicas
    xmol = xmas*1 # cria o vetor de frações molares igual a xmas (mas será substituído)
    Den = 0 # inicializa o denominador
    for i in range(n):
        xmol[i] = xmas[i]/MM[i] # xmol
        Den = Den + xmol[i] # atualiza o denominador
    for i in range(n):
        xmol[i] = xmol[i]/Den # atualiza o xmol
    return(xmol)

# agora podemos chamar a função
nomes = ['agua','etanol','metanol'] # nomes dos compostos
xmas = [.3, .5, .2] # frações mássicas
MM = [ 18, 46, 32] # massas molares
xmol = mas_p_mol(xmas,MM)
print(xmol)

O resultado gerado é:

[0.4932975871313673, 0.32171581769436997, 0.18498659517426275]

Funções internas do python¶

As principais funções internas empregadas no python estão apresentadas na tabela a seguir.

Principais funções internas usadas no aprendizado no python
Função Descrição Exemplo
print() Imprime texto ou variáveis na tela print("Olá, mundo!")
input() Recebe dados digitados pelo usuário como string nome = input("Digite seu nome: ")
int() Converte string ou número para inteiro idade = int("25")
float() Converte string ou número para ponto flutuante preco = float("19.99")
str() Converte valor para string texto = str(100)
len() Retorna o comprimento de listas, strings, etc. len("Python") → 6
type() Informa o tipo do objeto type(3.14) → <class 'float'>
range() Gera uma sequência de números range(0, 5) → 0,1,2,3,4
sum() Soma os elementos de um iterável (lista, tupla...) sum([1, 2, 3]) → 6
max() / min() Retorna o maior / menor valor de uma sequência max([1,5,3]) → 5
round() Arredonda um número round(3.14159, 2) → 3.14
list() Converte um iterável (como string ou tupla) para lista list("abc") → ['a', 'b', 'c']
sorted() Retorna uma nova lista ordenada sorted([3, 1, 2]) → [1, 2, 3]
enumerate() Retorna pares (índice, valor) para iterar com controle de posição for i, v in enumerate(lista):
zip() Combina elementos de dois (ou mais) iteráveis em pares zip(nomes, idades)

Estas funções são amplamente usadas em exercícios básicos e intermediários de Python — ideais para quem está aprendendo listas, strings, laços (for, while) e estruturas condicionais.

Exercício Use a função nome = input("Digite seu nome: ") pa atribuir um 'valor' para a variável 'nome'.

Exercício Use a função max() para determinar o máximo valor da lista [10,30,50,40]

Exercício Use a função len() para determinar o número de elementos do texto "anticonstitucionalíssimamente"

Demais funções internas do python¶

Além das funções usuais, há uma lista de outras funções internas do python.

Outras funções internas do python
Função Descrição Exemplo
abs() Retorna o valor absoluto de um número abs(-5) → 5
bool() Converte um valor para booleano (True ou False) bool("") → False
all() Retorna True se todos os elementos do iterável forem verdadeiros all([True, 1, "ok"]) → True
any() Retorna True se pelo menos um elemento for verdadeiro any([False, 0, ""]) → False
dict() Cria um dicionário dict(nome="João", idade=30)
set() Cria um conjunto (sem elementos duplicados) set([1, 2, 2, 3]) → {1, 2, 3}
tuple() Cria uma tupla tuple([1, 2, 3]) → (1, 2, 3)
help() Mostra ajuda sobre funções ou objetos help(len)
dir() Lista os atributos e métodos de um objeto dir("texto")
reversed() Retorna um iterador com os elementos em ordem reversa list(reversed([1, 2, 3])) → [3, 2, 1]
eval() Avalia uma string como expressão Python eval("2 + 3") → 5
pow() Eleva um número a uma potência (como **) pow(2, 3) → 8
isinstance() Verifica se um objeto é de um determinado tipo isinstance(10, int) → True
id() Retorna o identificador único do objeto na memória id("abc")
callable() Verifica se um objeto pode ser chamado (como função ou classe) callable(print) → True