Passagem por referência, pelo que aprendi programando em C, é algo diferente do que acontece em python. Também sou novo em Python. Mas encontrei algo que pode esclarecer a tua dúvida.
"É possível modificar um valor de uma variável dentro de uma função? A maioria das linguagens (C, java…) fazem distinção de uma passagem por valor e por referência. No Python, tal distinção é, de certa forma, artificial, e é um pouco sutil quando suas variáveis serão modificadas ou não. Felizmente, existem regras claras.
Parâmetros para funções são referências à objetos que são passados por valor. Quando se passa uma variável a uma função, o python passa a referência ao objeto ao qual a variável se refere (o valor), e não a variável propriamente dita.
Se o valor é imutável, a função não modifica a variável chamada. Se o valor é mutável, a função pode modificar a variável chamada."
Fonte: http://www.estruturas.ufpr.br/disciplinas/pos-graduacao/introducao-a-computacao-cientifica-com-python/introducao-python/1-4-funcoes/#:~:text=Par%C3%A2metros%20para%20fun%C3%A7%C3%B5es%20s%C3%A3o%20refer%C3%AAncias,n%C3%A3o%20modifica%20a%20vari%C3%A1vel%20chamada