Python函数编程入门:10个基础函数
Python是一种高级编程语言,是由Guido van Rossum创造的一种面向对象的解释型动态语言,因其简单易学、语法优美、跨平台等特点被越来越广泛地使用。函数是Python中常用的一种基本概念,Python支持函数式编程,函数是Python中的一等公民,Python中的函数可以作为参数传递和返回值,这也是很多高级编程语言所不具备的特征之一。
1.函数定义
函数的定义有三个要素:函数名、参数以及函数体。用def语句来定义函数,格式如下:
def 函数名(参数列表):
函数体
例如定义一个求和函数:
def sum(a, b):
return a + b
其中sum是函数名,a,b是参数,return是返回值关键字。
2.参数传递
参数分为可变参数和不可变参数。可变参数指的是函数调用时参数的数量可变,包括位置参数和关键字参数。不可变参数指的是函数调用时参数的数量不可变,包括默认参数和可选参数。
例如,位置参数:
def summation(a, b, c):
return a + b + c
x = summation(1, 2, 3)
print(x)
输出:6
关键字参数:
def printinfo(name, age):
print("Name: ", name)
print("Age: ", age)
return
printinfo(age=50, name="miki")
输出:
Name: miki Age: 50
默认参数:
def printinfo(name, age=35):
print("Name: ", name)
print("Age: ", age)
return
printinfo("John")
printinfo("Lily", 25)
输出:
Name: John Age: 35 Name: Lily Age: 25
3.匿名函数
Python中也支持匿名函数,即没有函数名的函数。匿名函数可以用lambda表达式来创建。lambda表达式的格式如下:
lambda 参数 : 表达式
例如,求平方和的匿名函数:
f = lambda x, y: x ** 2 + y ** 2 print(f(2, 3))
输出:13
4.map()函数
map()函数的作用是对序列中的每个元素进行操作,并返回一个对应新的序列。map()函数的格式如下:
map(function, iterable, ...)
其中,function是自定义函数,iterable是可迭代的序列。
例如,把列表中的元素都转换成字符串:
map(str, [1, 2, 3, 4, 5])
输出:
['1', '2', '3', '4', '5']
5.filter()函数
filter()函数的作用是对序列中的元素进行过滤操作,返回一个符合条件的元素列表。filter()函数的格式如下:
filter(function, iterable)
其中,function是自定义的过滤函数,iterable是可迭代的序列。
例如,筛选出列表中大于2的元素:
list(filter(lambda x: x > 2, [1,2,3,4,5]))
输出:
[3, 4, 5]
6.reduce()函数
reduce()函数是Python内置的一个高阶函数,用于对序列的元素进行累加操作。reduce()函数的格式如下:
reduce(function, iterable[, initializer])
其中,function是自定义的累加函数,iterable是可迭代的序列,initializer是累加的初始值。
例如,累加列表中的元素:
from functools import reduce reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
输出:15
7.sorted()函数
sorted()函数用于对序列进行排序操作,返回一个新的排序后的序列。sorted()函数的格式如下:
sorted(iterable, key=None, reverse=False)
其中,iterable是可迭代的序列,key是自定义的排序函数,reverse是指排序方式是升序还是降序。
例如,对列表中的元素进行排序:
sorted([3, 8, 1, 7, 2])
输出:
[1, 2, 3, 7, 8]
8.zip()函数
zip()函数用于将多个序列进行配对操作,返回一个元组列表。zip()函数的格式如下:
zip([iterable, ...])
其中,iterable是可迭代的序列。
例如,对两个列表进行配对操作:
x = [1, 2, 3] y = ['a', 'b', 'c'] list(zip(x, y))
输出:
[(1, 'a'), (2, 'b'), (3, 'c')]
9.enumerate()函数
enumerate()函数用于在序列中的每个元素前添加一个序号,返回一个序号和元素组成的元组列表。enumerate()函数的格式如下:
enumerate(iterable, start=0)
其中,iterable是可迭代的序列,start是计数开始的位置。
例如,为列表中的元素添加序号:
a = ['a', 'b', 'c', 'd'] list(enumerate(a))
输出:
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
10.reversed()函数
reversed()函数用于将序列中的元素反转顺序,返回一个反转后的序列。reversed()函数的格式如下:
reversed(seq)
其中,seq是要反转的序列。
例如,将一个序列反转:
a = ['a', 'b', 'c', 'd'] list(reversed(a))
输出:
['d', 'c', 'b', 'a']
11.总结
本文介绍了Python中的10个常用基础函数,包括函数定义、参数传递、匿名函数、map()函数、filter()函数、reduce()函数、sorted()函数、zip()函数、enumerate()函数、reversed()函数,这些函数在Python的编程实践中经常用到,掌握这些基础函数是进行Python函数式编程的基础之一。
