This article introduces the search order of Python function scope for your reference. The specific content is as follows
1. What is LEGB?
L:local function internal scope
E:enclosing function internal scope and embedded function Inter
G:global global scope
B:build-in built-in scope
2.LEGBWhat is it used for?
Why do we have to introduce this? Or what is their function?
The reason is because when we learn Python functions, we often encounter many domain problems, all variables, internal Variables, internally embedded functions, etc. How does Python find them? And in what order does Python search? Here is a sequence explanation
3. What is the sequence
Like the name, Python’s search in functions is divided into 4 types, called LEGB, which is exactly according to Search in this order.
First, it is local, first search inside the function
Then, it is enclosing, and then search between the inside of the function and the embedded function (referring to defining a function again inside the function)
Secondly, it is global , search global
Finally, it is build-in, built-in scope
4. Example
ex1
passline = 60 def func(val): if val >= passline: print('pass') else: print('failed') func(89) '''''''''''' pass [Finished in 0.2s] ''''''''''''
The Python function first searches for local. There is no definition of passline in the local variable scope. Then it is found that there is no embedded function inside the function. At this time, Python starts to search for global. The definition of passline is found globally and called.
ex2
##
def Max(val1, val2): return max(val1, val2) print(Max(90, 100)) ''''''''' 100 [Finished in 0.1s] '''''''''Max function directly calls another function, The called max() (note that the capitalization of the two functions is different), this function has not been defined, but it belongs to the fourth type we mentioned above, which is a build-in function. It is a function in the python standard library and is built-in Yes, it can be called directly. The last step will be to find here Regarding the second type, it is an embedded function. Even if a function is defined again inside the function, it will first search whether there is a definition in the local function, and then search inside the function. Is there any definition in the embedded function? This type has a special term called closure. Closure has been introduced in some previous articles. I hope you will read it. The above is the entire content of this article, I hope it will be helpful to everyone's study. For more articles related to the LEGB order of Python function scope, please pay attention to the PHP Chinese website!

Create multi-dimensional arrays with NumPy can be achieved through the following steps: 1) Use the numpy.array() function to create an array, such as np.array([[1,2,3],[4,5,6]]) to create a 2D array; 2) Use np.zeros(), np.ones(), np.random.random() and other functions to create an array filled with specific values; 3) Understand the shape and size properties of the array to ensure that the length of the sub-array is consistent and avoid errors; 4) Use the np.reshape() function to change the shape of the array; 5) Pay attention to memory usage to ensure that the code is clear and efficient.

BroadcastinginNumPyisamethodtoperformoperationsonarraysofdifferentshapesbyautomaticallyaligningthem.Itsimplifiescode,enhancesreadability,andboostsperformance.Here'showitworks:1)Smallerarraysarepaddedwithonestomatchdimensions.2)Compatibledimensionsare

ForPythondatastorage,chooselistsforflexibilitywithmixeddatatypes,array.arrayformemory-efficienthomogeneousnumericaldata,andNumPyarraysforadvancednumericalcomputing.Listsareversatilebutlessefficientforlargenumericaldatasets;array.arrayoffersamiddlegro

Pythonlistsarebetterthanarraysformanagingdiversedatatypes.1)Listscanholdelementsofdifferenttypes,2)theyaredynamic,allowingeasyadditionsandremovals,3)theyofferintuitiveoperationslikeslicing,but4)theyarelessmemory-efficientandslowerforlargedatasets.

ToaccesselementsinaPythonarray,useindexing:my_array[2]accessesthethirdelement,returning3.Pythonuseszero-basedindexing.1)Usepositiveandnegativeindexing:my_list[0]forthefirstelement,my_list[-1]forthelast.2)Useslicingforarange:my_list[1:5]extractselemen

Article discusses impossibility of tuple comprehension in Python due to syntax ambiguity. Alternatives like using tuple() with generator expressions are suggested for creating tuples efficiently.(159 characters)

The article explains modules and packages in Python, their differences, and usage. Modules are single files, while packages are directories with an __init__.py file, organizing related modules hierarchically.

Article discusses docstrings in Python, their usage, and benefits. Main issue: importance of docstrings for code documentation and accessibility.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver Mac version
Visual web development tools

Atom editor mac version download
The most popular open source editor
