Home Backend Development Python Tutorial What is an anonymous function? What are the uses of Python anonymous functions?

What is an anonymous function? What are the uses of Python anonymous functions?

Aug 17, 2018 pm 05:54 PM
anonymous function

When we pass in a function, sometimes there is no need to explicitly define the function. It is more convenient to pass in the anonymous function directly.

In Python, there is limited support for anonymous functions. Still taking the map() function as an example, when calculating f(x)=x2, in addition to defining a function of f(x), you can also directly pass in an anonymous function:

>>> list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
[1, 4, 9, 16, 25, 36, 49, 64, 81]
Copy after login

As can be seen from comparison, Anonymous function lambda x: x * x is actually:

def f(x):
    return x * x
Copy after login

The keyword lambda represents an anonymous function, and the x before the colon represents the function parameter.

Anonymous functions have a limitation, that is, they can only have one expression. There is no need to write return. The return value is the result of the expression.

There is an advantage to using anonymous functions, because the function has no name, so you don’t have to worry about function name conflicts. In addition, the anonymous function is also a function object. You can also assign the anonymous function to a variable and then use the variable to call the function:

>>> f = lambda x: x * x
>>> f
<function <lambda> at 0x101c6ef28>
>>> f(5)25
Copy after login

Similarly, you can also return the anonymous function as a return value, such as:

def build(x, y):
    return lambda: x * x + y * y
Copy after login

Encapsulates details to improve security and controllability. It is often used outside functions in the global scope, thereby limiting the addition of too many variables and functions to the global scope.
Using block-level scope in the global scope can reduce the problem of closures occupying memory, because there is no reference to the anonymous function, and its scope chain can be destroyed immediately as long as the function is executed.

Imitate block-level (private) scope:

function box(){
    for(var i=0;i<5;i++){  //块级作用域(js无)
    }   
     var i //即便重新声明,也不会影响之前的值
    alert(i);//5
 }
box();
Copy after login


The above is the detailed content of What is an anonymous function? What are the uses of Python anonymous functions?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1655
14
PHP Tutorial
1253
29
C# Tutorial
1227
24
Usage and characteristics of C++ anonymous functions Usage and characteristics of C++ anonymous functions Apr 19, 2024 am 09:03 AM

An anonymous function, also known as a lambda expression, is a function that does not specify a name and is used for one-time use or to pass a function pointer. Features include: anonymity, one-time use, closures, return type inference. In practice, it is often used for sorting or other one-time function calls.

Analysis of anonymous function application scenarios in Golang functions Analysis of anonymous function application scenarios in Golang functions May 16, 2023 pm 10:51 PM

As a modern programming language, Golang (also known as Go language) has many powerful features. Among them, anonymous functions are a very important concept in Golang and are widely used in various scenarios. In this article, we will deeply analyze the application scenarios of anonymous functions in Golang functions. Event Handler In event handler, anonymous function is a very convenient and practical tool. Custom logic can be passed to the event handler through an anonymous function, such as: funcmain(){bt

Can Golang anonymous functions return multiple values? Can Golang anonymous functions return multiple values? Apr 13, 2024 pm 04:09 PM

Yes, anonymous functions in Go language can return multiple values. Syntax: func(arg1,arg2,...,argN)(ret1,ret2,...,retM){//Function body}. Usage: Use the := operator to receive the return value; use the return keyword to return multiple values.

How to use PHP7's anonymous functions and closures to achieve more flexible code logic processing? How to use PHP7's anonymous functions and closures to achieve more flexible code logic processing? Oct 21, 2023 am 10:21 AM

How to use PHP7's anonymous functions and closures to achieve more flexible code logic processing? Before PHP7, we often used functions to encapsulate a specific piece of logic, and then called these functions in the code to implement specific functions. However, sometimes we may need to define some temporary logic blocks in the code. These logic blocks do not need to create an independent function, and at the same time, we do not want to introduce too many global variables into the code. PHP7 introduces anonymous functions and closures, which can solve this problem very well. An anonymous function is a function without a name

How to use PHP7's anonymous functions and closures to achieve more flexible and reusable code logic? How to use PHP7's anonymous functions and closures to achieve more flexible and reusable code logic? Oct 24, 2023 am 10:30 AM

How to use PHP7’s anonymous functions and closures to achieve more flexible and reusable code logic? In the world of PHP programming, anonymous functions and closures are very valuable and powerful tools. PHP7 introduces some new language features that make using anonymous functions and closures more convenient and flexible. This article will introduce how to use PHP7's anonymous functions and closures to achieve more flexible and reusable code logic, and provide some specific code examples. 1. Anonymous function An anonymous function is a function without a name. In PHP, you can use anonymous

Anonymous functions in PHP8.0 Anonymous functions in PHP8.0 May 14, 2023 am 08:31 AM

PHP8.0 is the latest version of the PHP programming language. One important update is improvements and enhancements to anonymous functions. An anonymous function (also called a closure) is a special type of function that can be created dynamically at runtime and passed to other functions or stored in a variable. In PHP, anonymous functions are crucial for advanced programming and web development. PHP8.0 provides some new syntax and features that make anonymous functions more flexible and easier to use. Some of the updates are as follows: Type declarations for function parameters in PHP8.0,

Python Lambda Expressions: Making Programming Easier Python Lambda Expressions: Making Programming Easier Feb 19, 2024 pm 09:54 PM

A python Lambda expression is a small anonymous function that stores an expression in a variable and returns its value. Lambda expressions are often used to perform simple tasks that can be accomplished by writing a separate function, but Lambda expressions can make the code more concise and readable. The syntax of a Lambda expression is as follows: lambdaarguments: expressionarguments is the parameter list received by the Lambda expression, and expression is the body of the Lambda expression, which contains the code that needs to be executed. For example, the following Lambda expression adds two numbers and returns their sum: lambdax,

What is the difference between lambda expressions and anonymous functions? What is the difference between lambda expressions and anonymous functions? Apr 17, 2024 pm 03:18 PM

Lambda expressions and anonymous functions are both ways of creating anonymous functions in Python, but there are differences. Assignment method: lambda expression returns a function, and anonymous functions must be assigned to variables to be used. Code complexity: A lambda expression can only contain one expression, while an anonymous function can contain multiple statements.

See all articles