What is Python and what is scope of Python?


Python :

Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, P e r l, Scheme or Java.

Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC, wxWidgets). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface.

The Python implementation is portable: it runs on many brands of UNIX, on Windows, OS/2, Mac, Amiga, and many other platforms.

The Python implementation is copyrighted but freely usable and distributable, even for commercial use.

Scope of Python :

A scope is a textual region of a Python program where a name space is directly accessible. “Directly accessible” here means that an unqualified reference to a name attempts to find the name in the name space.

Although scopes are determined statically, they are used dynamically. At any time during execution, exactly three nested scopes are in use (i.e., exactly three name spaces are directly accessible): the innermost scope, which is searched first, contains the local names, the middle scope, searched next, contains the current module’s global names, and the outermost scope (searched last) is the name space containing built-in names.

Usually, the local scope references the local names of the (textually) current function. Outside of functions, the local scope references the same name space as the global scope: the module’s name space. Class definitions place yet another name space in the local scope.

It is important to realize that scopes are determined textually: the global scope of a function defined in a module is that module’s name space, no matter from where or by what alias the function is called. On the other hand, the actual search for names is done dynamically, at run time — however, the language definition is evolving towards static name resolution, at “compile” time, so don’t rely on dynamic name resolution! (In fact, local variables are already determined statically.)

A special quirk of Python is that assignments always go into the innermost scope. Assignments do not copy data — they just bind names to objects. The same is true for deletions: the statement “del x” removes the binding of x from the name space referenced by the local scope. In fact, all operations that introduce new names use the local scope: in particular, import statements and function definitions bind the module or function name in the local scope. (The global statement can be used to indicate that particular variables live in the global scope.)



Explore posts in the same categories: Object Oriented Interview Questions


BOOKMARK THIS : del.icio.us | Digg it | Furl | reddit |


Related Questions :

  • Explain the scope resolution operator.
  • It permits a program to reference an identifier in the global scope that has been hidden by another identifier with...
  • Explain the scope resolution operator.
  • It permits a program to reference an identifier in the global scope that has been hidden by another identifier with...
  • When is a scope terminator mandatory ?
  • Scope terminators are mandatory for in-line PERFORMS and EVALUATE statements. For readability, it's recommended coding practice to always make...
  • When is a scope terminator mandatory ?
  • Scope terminators are mandatory for in-line PERFORMS and EVALUATE statements. For readability, it's recommended coding practice to always make scope...
  • What is an explicit scope terminator ?
  • A scope terminator brackets its preceding verb, e.g. IF .. END-IF, so that all statements between the verb and its...
  • What is an explicit scope terminator ?
  • A scope terminator brackets its preceding verb, e.g. IF .. END-IF, so that all statements between the verb and its...
  • Does javascript have the concept level scope?
  • No.Javascript does not have block level scope,all the variables declared inside a function possess the same level of scope unlike...
  • What are the different scope valiues for the ?
  • The different scope values for  are 1. page 2. request 3.session 4.application...
  • What are the different scope valiues for the ?
  • The different scope values for are 1. page 2. request 3.session 4.application...
  • Object Oriented : Essentials and History
  • An object-oriented programming language (also called an OO language) is one that allows or encourages, to some degree, object-oriented programming...

    Comment:

    You must be logged in to post a comment.