Tools, FAQ, Tutorials:
Function Parameter Default Expression Executed Only Once
Is it true that the function parameter default expression is only executed once in Python?
✍: FYIcenter.com
Yes, the function parameter default expression is only executed once in Python
when the "def" statement is interpreted.
For example, in the following Python code, when the "def profile()" statement is interpreted, the default value for "age" parameter will be set to 18+3 once and stay with that value:
>>> legalAge = 18
>>> def profile(name,age=legalAge+3):
... print("Name: "+name)
... print("Age: "+str(age))
...
>>> profile("Joe")
Name: Joe
Age: 21
>>> legalAge = 20
>>> profile("Jay")
Name: Jay
Age: 21
In the following example, the default expression assigned a new "list" object to parameter "x" once. When the function is called multiple times, the same "list" object is referenced again and again.
>>> def growingList(x=[1]): ... x.append(x[len(x)-1]*2) ... return x ... >>> growingList() [1, 2] >>> growingList() [1, 2, 4] >>> growingList() [1, 2, 4, 8] >>> growingList() [1, 2, 4, 8, 16] >>> growingList() [1, 2, 4, 8, 16, 32] >>> growingList() [1, 2, 4, 8, 16, 32, 64]
⇒ Variable Scope in Function Definition Statements
⇐ '*...' and '**...' Wildcard Parameters in Function Definitions
2022-10-26, ∼1948🔥, 0💬
Popular Posts:
How to how to use matched string and groups in replacements with re.sub()? When calling the re.sub()...
What validation keywords I can use in JSON Schema to specifically validate JSON Array values? The cu...
How to use urllib.parse.urlencode() function to encode HTTP POST data? My form data has special char...
Can You Add Values to an Array without Keys in PHP? Can You Add Values to an Array with a Key? The a...
Where to see some Examples of Invalid JSON Values? Here are some Examples of Invalid JSON Values: 1....