Level 10 : What will the following code snippet produce?


def func(a, b=[]):
    b.append(a)
    return b

list1 = func(10)
list2 = func(20, [])
list3 = func(30)
print(list1, list2, list3)

Author: VenuEmmela | Tags: mutable | 1859+ Python FAQs | Share
mathematics | int | class-and-object | creating-custom-modules | assert | append | access-modifier | command-line-parsing | classes | binary | comment | async | attribute | bitwise-operator | arbitrary-arguments-(*args,-**kwargs) | control-statement | assignment-operators | choice | data-type-conversions | boolean | head-and-tail | mapping-function | list-methods-and-slicing | def | module | test-discovery | identity-operator | asyncio | list-comprehension | string-slicing | using-yield-in-functions | input-function | dataframe-and-series-objects | complex | turtle | zip-function | bitwise | while-loops | conversion | __future__ | exception | advanced-file-operations | installation | creating-and-starting-threads | introduction-to-threads | recurssion | error | memory | data_structure | functional-programming | sorting-and-ranking | staticmethod | string-methods | for | scientific-notation | operator-and | numeric | multiple-inheritance | shallow-copy | integer | key-value-pairs | syntax-error | recursion | unit-testing | walking-through-directories-using-os.walk() | python-history | functions | regular-expression | keyword | dictionary-comprehensions | file_handling | tuples | default-mutable-argument | lambda-function | goto-function | threading | global-variable | touples | handling-missing-values-(fillna,-dropna) | iterable | reading:-read(),-readline(),-readlines() | opening-files-(open()) | type_conversion | built-in-modules | binary-operation | type-conversion | datatype | function | objects | center | dictionary | overriding-methods | fabs-function | data-structures-in-python | statement | while-loop | deep-copy | while-else-loop | string-concatenation | regular-expressions | pseudocode | list-vs-tuple | arithmetic-operation | iterator | sys-module | error-handling | operators | inheritance | counter | list-join | introduction-to-python | matplotlib | nested-loop | global | datetime.date,-datetime.time,-datetime.datetime | complex-number | name-mangling | built-in-function | method | arithmetic-expression | lists | identity-operators-(is,-is-not) | literal-characters-and-special-characters | string-formatting | static-method | directory-operations | sorting | floating-point-precision | built-in-function | raise-statement | python | map-function | expand-tab | formatting-with-strftime | data-types | round | frozenset | logical-operator | set-operation | descriptors | package-management | reading-and-writing-large-files-efficiently | syntax | comprehension | compute | using-assertions-(assertequal,-assertraises) | loop-control-statements | type-conversion-and-casting | print | control-flow | list-indexing | init | magic-method | __all__-attribute | list-comprehensions | overflow | formal-and-actual-parameter | class-and-instance-variable | namespace | file-handling | match | tuple-methods | datetime | list | copy | loops | identity-operator | benefit | max-min | math | enumerate() | input | identifier | range | condition | generator | oop | random | function-argument | matrix | list-method | random-function | dictionaries | matrix-list-comprehension | exponentiation | using-os-and-pathlib-modules | defining-functions | loop-control | list-operation | strings | array | string-method | stack | boolean-and-non-boolean | functional-programming | __init_subclass__ | call | list,-set,-and-dictionary-comprehensions | error-handling | update | return-statement | working-with-dates-and-times | difference-between-threads-and-processes | aggregating-data-with-functools.reduce() | odd-number | operator-overloading | boolean-masking | min-max-function | lambda-functions | sets | python-repl | joining-and-merging-dataframes | regex | indentation | thread-synchronization | membership-operators-(in,-not-in) | conditional-statement | exception-handling | immutability | filter | python-operators | memory-management | version-check | default-arguments | input-function | interpreter | slicing | library | type-conversion | integers | zip | invalid-list | writing:-write(),-writelines() | iterators | loop | namedtuple | asyncio-module | print-statement | polymorphism | split | comparison | conditional-statements | debugging | introduction-to-multiprocessing | using-join()-and-is_alive()-methods | raise | anchors-(^,-$) | class | list-slicing | parsing-with-strptime | global-keyword | floats | round-function | using-map()-for-transformations | tuple | decorator | file-handling | working-with-temporary-files-using-tempfile | zfill-function | precedence-and-associativity | swapping | booleans | multiple-inheritance | data-structure | pandas | conditional-statement | generators | else-statement | thread | string-formatting | data-type | using-lists-as-stacks | inherit | syntax-error | methods | mutable | decimal | python_version | encoding | oops | string-iteration | single-inheritance | dictionary-methods | factorial-function | numpy | multiprocessing | docstring | exception-handling | operator-or | list-mutation | version | counter-function | dicts | class-and-inheritance | software-design | sys | pep | design-principle | collections | format | variable | intering | implementation | working-with-binary-files-(rb,-wb) | logical-operators | logical-operation | encapsulation | postfix | indexing | string | reading-and-writing-files | destructor | time-series-with-pandas | string-manipulation | id-function | math-copysign | lambdas | bitwise-operator | with-statement | mysql | string-slicing | tuple-unpacking | lambda | else | quantifiers-(*,-+,-?,-{}) | while-and-for-loop | filtering-and-indexing | slice | using-else-and-finally | expression | basic | virtual-environment | mathematical-function | managing-directories-with-os-and-shutil | precedence | operand | filter-function | join | assignment-operator | application | min-function | list-comprehension | why-use-multiprocessing-over-threading?-(gil) | multithreading | control-flow | method-overloading | multiple-except-blocks | typeerror | object-attribute | operations | yield | built-in | virtual-environment | data-structures | syntaxerror | thread-safe-data-structures-(queue.queue) | function-and-scope | rollback | constructor | sum-function | class-decorators | string-method | using-the-threading-module | python-syntax-and-structure | higher-order-function | working-with-file-paths | collection | pickling--unpickling | context-manager | escape-operator | parameter | set | operator | python-django | heap-memory | data-structure | sorted | file | data-type | pass | feature | global-variable | immutable-data-type | import-method | logical-operator | gil | python-module | generators-in-python | sum() | indexing:-loc-vs-iloc ...