Procedure calls, Python Programming

Procedure calls

When you compute an expression of the form

(,  ..., )


the Python interpreter treats  this as a procedure call. It will be simpler to talk about  a speci?c case of invoking a function, so we will explain with the example


>>> square(a + 3)


computed in environment E1. Here are the steps:


1.  The expression that determines the procedure () is computed. In this case, we compute

square in E1 and get Procedure1.


2.  The expressions that  determine the arguments (, ..., )  are computed. In this case, we compute a + 3 in E1 and get 5.


3.  A new environment (in this case E2) is prepared, which:

-  binds  the formal  parameters of the function (in this case x) to the values  of its arguments(in this case, 5); and

-  has as its base the environment in which  the procedure was de?ned we ?nd  a pointer .


1843_Procedure calls.png


The dotted line between E1 and  E2 is used to show that  E1 is the parent environmentof E2.


4.  The statements of the  procedure body  are computed in the  new  environment until  either  a return statement or the end of the list of statements is got. If a result expression is calculated, the expression after the return is computed and its value is returned as the value of the function call expression. Otherwise, the function has no return value,  and  the expression has the unique Python value  None.


In our  example, the  only  statement in the  body  is a return statement.  So, we  compute the expression x * x in E2, obtaining a value  of 25.  That  value  is returned as the value  of the entire  procedure-call expression square(a + 3).


This basic mechanism can generate behavior of arbitrary hardness, when grouped with  recursion or other control  structures.





Posted Date: 8/11/2012 2:04:23 AM | Location : United States

Related Discussions:- Procedure calls, Assignment Help, Ask Question on Procedure calls, Get Answer, Expert's Help, Procedure calls Discussions

Write discussion on Procedure calls
Your posts are moderated
Related Questions
Python has  a built-in list data  structure that  is easy  to use  and  incredibly convenient.  So, for that point, you can say >>> y = [1, 2, 3] >>> y[0] 1 >>> y[2]

Data array A has data series from 1,000,000 to 1 with step size 1, which is in perfect decreasing order. Data array B has data series from 1 to 1,000,000, which is in random order.

Simple expressions A cornerstone of a programming language is the  ability  to compute expressions.  We will start here  with  arithmetic expressions, just to take the  concep

For and While   If we want  to do some operation or set of operations various  times, we can handle the process  in several  different types.  The most straightforward types

In Python, the fundamental abstraction of a computation is as a procedure (other  books call them "functions" instead; we will end  up  using  both  values).   A function that  tak

Procedure calls When you compute an expression of the form ( ,  ..., )   the Python interpreter treats  this as a procedure call. It will be simpler to talk about

Task This problem creates a list containing names. The list of names will be printed, sorted, printed again in the new sorted order, written to a new output file, and searched. Ca

how to calculate angle between 2 moving line in 2d space

from urllib2 import urlopen # Open for reading on line 4! response = body = response[559:1000] # Add your ''print'' statement here!

Interacting with the environment Computer systems have  to communicate with  the world around them,  getting information about  the external world, and  taking  actions  to cha