several of the numerical operators can be combined with an assignment operatoras in + to mean operators such as and can be defined for other data types as wellwhere they take on different meaning this is called operator overloadingan example of which is the use of for list repetition as we saw earlier function functions and methods functions make it easier to divide complex program into simpler parts to create functionuse the following syntaxdef () function takes list of input variables that are references to objects inside the functiona number of statements are executed which may modify the objectsbut not the reference itself in additionthe function may return an output object (or will return the value none if not explicitly instructed to return outputthink again of the shoe box analogy the input variables of function are labels of shoe boxesand the objects to which they refer are the contents of the shoe boxes the following program highlights some of the subtleties of variables and objects in python note that the statements within function must be indented this is python' way to define where function begins and ends [ , , def change_list ( ) append ( append an element to the list referenced by [ ]= modify the first element of the same list [ , , the local now refers to different list the list to which first referred does not change return sum(yprint change_list ( )print ( [ variables that are defined inside function only have local scopethat isthey are recognized only within that function this allows the same variable name to be used in different functions without creating conflict if any variable is used within functionpython first checks if the variable has local scope if this is not the case (the variable has not been defined inside the function)then python searches for that variable outside the function (the global scopethe following program illustrates several important points