Muutuja kui väärtus

Vaatame sarnast koodi olukorras, kus funktsioonile antakse edasi väärtus:

def add_one(number):
    number = number + 1

def main():
    value = 10
    add_one(value)
    print(value)  # => 10

Antud koodinäite puhul antakse add_one funktsiooni edasi väärtus 10. Funktsiooni sees liidetakse väärtusele 1 juurde ja salvestatakse muutujasse number. Aga loodav muutuja on kohalik muutuja ning ei mõjuta kuidagi välist muutujat (value). Seepärast on value väärtus lõpus endiselt 10.

Sellist käitumist nimetatakse pass by value.