Python-Functional Programming Example Tutorial
Functional programming uses a series of functions to solve problems. According to general programming thinking, when facing a problem, our way of thinking is "how to do it", while functional programming's way of thinking is "what do I want to do". As for the characteristics of functional programming, we will not summarize it for now. Let us directly use examples to understand what functional programming is.
lambda expression (anonymous function):
How to define ordinary functions and anonymous functions:
#Ordinary function def add( a,b):
return a + bprint add(2,3) #匿名函数add = lambda a,b : a + bprint add(2,3)#========输出===========5 5
Naming rules for anonymous functions, identified by the lamdba keyword, the left side of the colon (:) indicates the parameters received by the function (a, b) , the right side of the colon (:) represents the return value of the function (a+b).
Since lamdba does not need to be named when it is created, it is called an anonymous function ^_^
Map function:
Calculate the length of the string
abc = ['com','fnng','cnblogs']for i in range(len(abc)): print len(abc[i])#========输出===========347
Define abc string array, calculate the length of abc and then loop to output the length of each string in the array.
Let’s take a look at how the map() function implements this process.
abc_len = map(len,['hao','fnng','cnblogs'])print abc_len#========输出===========[3, 4, 7]
Although the output results are the same, their forms are different. The first one is a simple numerical value, and the output of the map() function still remains The format of the array.
Case conversion;
Python provides upper() and lower() to convert case.
#Case conversion ss='hello WORLD!'
print ss.upper() #Convert to uppercase print ss.lower() #Convert to lowercase# ========Output===========HELLO WORLD!
hello world!
Convert through the map() function:
def to_lower(item): return item.lower()name = map(to_lower,['cOm','FNng','cnBLoGs'])print name#========输出===========['com', 'fnng', 'cnblogs']
In this example We can see that we have written a function toUpper. This function does not change the value passed in. It just performs a simple operation on the value passed in and returns it. Then, we use it in the map function to clearly describe what we want to do.
Let’s take a look at how to implement string case conversion in a common way:
abc = ['cOm','FNng','cnBLoGs']lowname = []for i in range(len(abc)): lowname.append(abc[i].lower())print lowname#========输出===========['hao', 'fnng', 'cnblogs']
map() function plus lambda expression (Anonymous function) can achieve more powerful functions.
#Find squares#0*0,1*1,2*2,3*3,....8*8squares = map(lambda x : x*x ,range(9))print squares #========Output===========[0, 1, 4, 9, 16, 25, 36, 49, 64]
Reduce function:
def add(a,b): return a+b add = reduce(add,[2,3,4])print add#========输出===========9 对于Reduce函数每次是需要对两个数据进行处理的,首选取2 和3 ,通过add函数相加之后得到5,接着拿5和4 ,再由add函数处理,最终得到9 。
In the previous map function example, we can see that the map function only processes one data at a time.
Then, we discovered how simple it is to implement factorial through Reduce function and lambda expression:
#5Factorial#5! =1*2*3*4*5print reduce(lambda x,y: x*y, range(1,6))#========Output===========120
In addition to map and reduce, Python also has other auxiliary functions such as filter, find, all, and any (also available in other functional languages), which can make your code more concise and easier to use. read. Let’s look at a more complex example:
#Calculate the value of positive integers in the array number =[2, -5, 9, -7, 2, 5, 4, -1, 0, -3, 8 ]
count = 0
sum = 0for i in range(len(number)):
if number[i]>0: count += 1 sum += number[i]print sum,countif count>0: average = sum/countprint average
#========Output===========30 6 5
If you use functional programming, this example can be written like this:
number =[2, -5, 9, -7, 2, 5, 4, -1, 0, -3, 8] sum = filter(lambda x: x>0, number) average = reduce(lambda x,y: x+y, sum)/len(sum)print average
#========Output===========5
Finally we can see that functional programming has the following benefits:
1) The code is simpler.
2) Data sets, operations, and return values are all put together.
3) When you read the code, there is no loop body, so you can lose some temporary variables and the logic of variables going back and forth.
4) Your code becomes describing what you want to do, rather than how to do it.
The above is the detailed content of Python-Functional Programming Example Tutorial. For more information, please follow other related articles on the PHP Chinese website!

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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

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

Hot Topics

How to remove duplicate values from PHP array using regular expressions: Use regular expression /(.*)(.+)/i to match and replace duplicates. Iterate through the array elements and check for matches using preg_match. If it matches, skip the value; otherwise, add it to a new array with no duplicate values.

1. Programming can be used to develop various software and applications, including websites, mobile applications, games, and data analysis tools. Its application fields are very wide, covering almost all industries, including scientific research, health care, finance, education, entertainment, etc. 2. Learning programming can help us improve our problem-solving skills and logical thinking skills. During programming, we need to analyze and understand problems, find solutions, and translate them into code. This way of thinking can cultivate our analytical and abstract abilities and improve our ability to solve practical problems.

Build browser-based applications with Golang Golang combines with JavaScript to build dynamic front-end experiences. Install Golang: Visit https://golang.org/doc/install. Set up a Golang project: Create a file called main.go. Using GorillaWebToolkit: Add GorillaWebToolkit code to handle HTTP requests. Create HTML template: Create index.html in the templates subdirectory, which is the main template.

Python is an ideal programming introduction language for beginners through its ease of learning and powerful features. Its basics include: Variables: used to store data (numbers, strings, lists, etc.). Data type: Defines the type of data in the variable (integer, floating point, etc.). Operators: used for mathematical operations and comparisons. Control flow: Control the flow of code execution (conditional statements, loops).

Java Made Simple: A Beginner's Guide to Programming Power Introduction Java is a powerful programming language used in everything from mobile applications to enterprise-level systems. For beginners, Java's syntax is simple and easy to understand, making it an ideal choice for learning programming. Basic Syntax Java uses a class-based object-oriented programming paradigm. Classes are templates that organize related data and behavior together. Here is a simple Java class example: publicclassPerson{privateStringname;privateintage;

Pythonempowersbeginnersinproblem-solving.Itsuser-friendlysyntax,extensivelibrary,andfeaturessuchasvariables,conditionalstatements,andloopsenableefficientcodedevelopment.Frommanagingdatatocontrollingprogramflowandperformingrepetitivetasks,Pythonprovid

Java is a popular programming language that can be learned by both beginners and experienced developers. This tutorial starts with basic concepts and progresses through advanced topics. After installing the Java Development Kit, you can practice programming by creating a simple "Hello, World!" program. After you understand the code, use the command prompt to compile and run the program, and "Hello, World!" will be output on the console. Learning Java starts your programming journey, and as your mastery deepens, you can create more complex applications.

C is an ideal choice for beginners to learn system programming. It contains the following components: header files, functions and main functions. A simple C program that can print "HelloWorld" needs a header file containing the standard input/output function declaration and uses the printf function in the main function to print. C programs can be compiled and run by using the GCC compiler. After you master the basics, you can move on to topics such as data types, functions, arrays, and file handling to become a proficient C programmer.
