Passagem de objetos por parâmetro em Python
Variáveis que contêm objetos (listas, conjuntos, tuplas, dicionários) em funções são passadas por referência. Vamos reescrever o código na função para que o primeiro elemento da variável passada mude para um ponto de exclamação. E abaixo da função, vamos declarar uma variável cujo valor é uma lista:
def func(tst):
tst[0] = '!'
print(tst)
lst = [1, 2, 3, 4, 5]
Como as listas são passadas por referência, ao
chamar a função, o valor de lst
no escopo global também será alterado:
func(lst) # exibirá ['!', 2, 3, 4, 5]
print(lst) # exibirá ['!', 2, 3, 4, 5]
Qual será o resultado da execução do seguinte código:
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
func(lst)
print(lst)
Qual será o resultado da execução do seguinte código:
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
lst = func(lst)
print(lst)
Qual será o resultado da execução do seguinte código:
def func(lst):
lst = '!'
lst = [1, 2, 3, 4, 5]
func(lst[0])
print(lst)
Qual será o resultado da execução do seguinte código:
def func(dct):
for key in dct.keys():
dct[key] += 2
dct = {
'a': 1,
'b': 2,
'c': 3,
}
func(dct)
print(dct)