Tools, FAQ, Tutorials:
Variable Scope in Function Definition Statements
What is the scope of a variable introduced in a function definition "def" statement block in Python?
Any new variables introduced in a function statement block is valid only in that statement block. In other words, the scope of a local variable in a function is limited to the function only.
Also note that variables introduced outside the function statement block are not available to the statement block. In other words, each function statement block maintains it own local variable list independent of the parent statement blocks.
Here is a good demonstration of local variables limited to the scope of the function statement block.
>>> legalAge = 18 >>> def profile(name,age=legalAge+3): ... print("Name: "+name) ... print("Age: "+str(age)) ... print(str('legalAge' in locals())) ... legalAge = 20 ... print("Local Legal Age: "+str(legalAge)) ... drinkingAge = 21 ... print("Drinking Age introduced: "+str(drinkingAge)) ... >>> profile("Joe") Name: Joe Age: 21 False Local Legal Age: 20 Drinking Age introduced: 21 >>> legalAge 18 >>> 'drinkingAge' in locals() False
The output shows:
⇒ Function Parameters Assigned with Object References
⇐ Function Parameter Default Expression Executed Only Once
⇑ Defining Functions in Python
2022-10-26, 1024👍, 0💬
How to write a policy to set and get custom variables? Here is a policy that sets and gets custom va...
How to Build my "sleep" Docker image from the Alpine image? I want the container to sleep for 10 hou...
Where to find tutorials on how to Read and Write Files in PHP? A collection of tutorials to answer m...
What is Azure API Management Gateway? Azure API Management Gateway is the Azure Web server that serv...
How to dump (or encode, serialize) a Python object into a JSON string using json.dumps()? The json.d...