Python

Mutable default argument

Në shqip: Vlera e paracaktuar e ndryshueshme

ShpjegimiSQ

Një nga kurthet më të famshme të Python-it: po e vure një listë si vlerë të paracaktuar (def shto(x, lista=[])), e njëjta listë ripërdoret në çdo thirrje dhe mbledh vlera nga thirrjet e mëparshme. Përdor None dhe krijo listën brenda.

EnglishEN

One of Python's most famous traps: if you use a list as a default value (def add(x, lst=[])), the same list is reused on every call and collects values from earlier calls. Use None and create the list inside.

Si ta mendosh

Si një fletore e përbashkët që mbetet në bankë: çdo nxënës i ri gjen shënimet e të mëparshmit.

Lexoje në anglisht

Like a shared notebook left on the desk: every new student finds the previous one's notes.

Shembull kodipython

def shto(x, lista=None):
    if lista is None:
        lista = []
    lista.append(x)
    return lista

Terma të lidhur