A passagem de argumento por referencia e valor já foi visto em 
                Portugol: Passagem de Argumento
                e em Tutorial C: Funções/Passagem de Argumento.
            
            
                Quando passamos um valor ou variável como argumento para uma função, estamos passando 
                apenas seu valor por padrão. Depois de usado internamente na função, esse valor será descartado. 
            
            Exemplo 6
            
param1 = 10
def nome_funcao(param1):
    param1 = 100;
print("antes:",param1)
nome_funcao(param1)
print("depois",param1)
            Saída
            
antes: 10
depois 10
            
                Para passarmos um valor por referência, precisamos utilizar algum objeto no qual desejamos 
                modificador seu conteúdo. Objetos e estruturas de dados dinâmicas como 
                Tuple,
                Set e 
                Dictonary  podem ser utilizados.
            
            Exemplo 6.1
            
lista = [1,2]
def nome_funcao(param1):
    param1.append(4) # adição de novo elemento
    
print("antes:",lista)
nome_funcao(lista)
print("depois",lista)
            Saída
            
antes: [1, 2]
depois [1, 2, 4]
            Exemplo 6.2
            
def nome_funcao(param):
    param.atributo = 10
    
class classe:
  atributo = 0
#objeto
obj = classe()
obj.atributo = 1
print("antes:",obj.atributo)
nome_funcao(obj)
print("depois",obj.atributo)
            Saída
            
antes: 1
depois 10