Passagem por referência em Python
- A definição da passagem por referência na função Python
- Exemplo de passagem por referência em Python
- Explicação
Neste guia, demonstraremos o que você precisa saber sobre passagem por referência. Incluímos um programa de amostra abaixo, que você pode seguir para compreender melhor esta função.
A definição da passagem por referência na função Python
Existem muitas maneiras de definir um argumento em uma função em Python; um desses processos é a passagem por referência. A palavra Pass
aqui significa passar ou dar um argumento para uma função. Então, por referência
significa que o argumento passado para uma função é basicamente referido como uma variável existente em vez de uma cópia separada dessa variável. Neste método de definir um argumento em uma função, a variável a que se refere é afetada principalmente por qualquer operação executada.
Exemplo de passagem por referência em Python
def fun(x):
x.append("Sam")
print("While calling the function:", x)
x = ["Hello"]
print("Before calling the function:", x)
fun(x)
print("After calling the function:", x)
Resultado:
Before calling the function: ['Hello']
While calling the function: ['Hello', 'Sam']
After calling the function: ['Hello', 'Sam']
Explicação
No exemplo acima, uma função é primeiro definida com uma variável x
. Aqui, o método append
é usado com x
para adicionar a um nome de elemento sam
. Depois disso, uma lista
é feita usando o elemento x
no qual existe apenas um elemento, ou seja, hello
. Ao imprimir a lista, a função inicialmente definida é chamada junto com seu argumento x
. Depois de chamar a função, observe que o elemento anexado na própria função foi adicionado à lista x
.
Este processo mostra como funciona a passagem por referência
. A função sempre afeta os objetos mutáveis (objetos que podem mudar seu valor ou estado) armazenados em uma variável usada como o argumento da função.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn