欢迎访问宙启技术站
智能推送

Python函数编程入门:10个基础函数

发布时间:2023-05-28 04:49:17

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函数式编程的基础之一。