Explanation of the variables and scopes in Python

Source: Internet
Author: User
Tags define function
This article mainly introduces the detailed explanation of variables and scopes in Python, which is very good and has reference value. if you need it, you can refer Scope

In python, the scope is divided into four situations: L: local, local scope, that is, the variables defined in the function;

E: enclosing: The local scope of nested parent functions, that is, the local scope of the upper-level functions that contain this function, but not global;

G: globa, global variable, which is defined at the module level; B: built-in, variable in the system fixed module, such as int and bytearray. The priority order of search variables is: local scope> outer scope> Global in the current module> python built-in scope, that is, LEGB.

x = int(2.9) # int built-ing_count = 0 # globaldef outer():o_count = 1 # enclosingdef inner():i_count = 2 # local

Of course, local is relative to enclosing, and the enclosing variable is also local relative to the upper layer.

# Define variable a >>> a = 0 >>> print a0 # define function p () >>> def p ():... print a... >>> p () 0 # define the function p2 () >>> def p2 ():... print... a = 3... print a... >>> p2 () # An error occurred while running. external variable a is referenced first and cannot be assigned Traceback (most recent call last) again: File"
 
  
", Line 1, in
  
   
File"
   
    
", Line 2, in p2UnboundLocalError: local variable 'A' referenced before assignment # defines the function p3 () >>> def p3 ():... a = 3 # assign values without referencing... print a... >>> p3 () 3 >>> print a0 # External variable a has not changed
   
  
 

The above is a detailed explanation of the variables and scopes in Python introduced by the editor. if you have any questions, please leave a message and the editor will reply to you in time. I would like to thank you for your support for the script home website!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.