strings there are tools which use docstrings to automatically produce online or printed documentationor to let the user interactively browse through codeit' good practice to include docstrings in code that you writeso make habit of it the execution of function introduces new symbol table used for the local variables of the function more preciselyall variable assignments in function store the value in the local symbol tablewhereas variable references first look in the local symbol tablethen in the local symbol tables of enclosing functionsthen in the global symbol tableand finally in the table of built-in names thusglobal variables cannot be directly assigned value within function (unless named in global statement)although they may be referenced the actual parameters (argumentsto function call are introduced in the local symbol table of the called function when it is calledthusarguments are passed using call by value (where the value is always an object referencenot the value of the object when function calls another functiona new local symbol table is created for that call function definition introduces the function name in the current symbol table the value of the function name has type that is recognized by the interpreter as user-defined function this value can be assigned to another name which can then also be used as function this serves as general renaming mechanismfib fib ( coming from other languagesyou might object that fib is not function but procedure since it doesn' return value in facteven functions without return statement do return valuealbeit rather boring one this value is called none (it' built-in namewriting the value none is normally suppressed by the interpreter if it would be the only value written you can see it if you really want to using print()fib( print(fib( )none it is simple to write function that returns list of the numbers of the fibonacci seriesinstead of printing itdef fib ( )return fibonacci series up to """return list containing the fibonacci series up to ""result [ab while nresult append(asee below ab ba+ return result fib ( call it write the result [ this exampleas usualdemonstrates some new python featuresthe return statement returns with value from function return without an expression argument returns none falling off the end of function also returns none the statement result append(acalls method of the list object result method is function that 'belongsto an object and is named obj methodnamewhere obj is some object (this may be an actuallycall by object reference would be better descriptionsince if mutable object is passedthe caller will see any changes the callee makes to it (items inserted into list defining functions