本文主要介绍在Python中5个比较重要的函数,通过代码的实例来呈现这些函数为什么有用。这些函数写出来比较简单,但在代码结构的优化上却可以大显身手。Python有许多的函数库以及内置函数,理解这些函数并在日常编程中使用它们将会帮助我们实现有效编程。
匿名函数是Python中一个重要的函数,在很多地方我们都会用到匿名函数,匿名函数简单来说就是声明函数,可以不用赋予函数名称。如果有一个简单的需求需要执行,使用lambda函数是极其有效的。lambda函数和函数是非常相像的,除了lambda只能返回一个表达式。
result = lambda a,b: (a+b)**2
print result(10,20) # 900
使用说明
lambda arguements: expression
lambda
关键字result(10,20)
map是Python的内置函数,程序员可以使用map来使得程序更加的简单。这个函数可以在不使用任何循环的情况下迭代所有指定的元素。
def add_list(self, a, b):
return a + b
def test_add_list(self):
output = list(map(self.add_list, [1, 2, 3], [4, 5, 6]))
print output # [5, 7, 9]
使用说明:
map(function, iterables)
过滤函数也是Python的内置函数,当需要在一堆数据出分离出想要的数据的时候,filter函数就显得非常有用了。filter函数主要通过某种给定的条件提取或者过滤数据。
def is_positive(self, num):
return num > 0
def test_filter(self):
res = filter(self.is_positive, [1, -2, -1, 2, 3, 4, -3])
print res # [1, 2, 3, 4]
使用说明:
filter(function, iterables)
zip函数也是Python的内置函数,主要用于将数据中不同列的数据提取出来构成tuple数据。
def test_zip(self):
user_name = ['zs', 'ls', 'ww']
user_id = [1, 2, 3]
user_age = [20, 21, 22]
print zip(user_age, user_id, user_name) # [(20, 1, 'zs'), (21, 2, 'ls'), (22, 3, 'ww')]
使用说明:
zip(*seq)
reduce函数也是Python的内置函数,如果想要对给定列表中的所有元素应用相同的操作时,使用此函数。
def test_reduce(self):
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# lambda形式
print reduce(lambda a, b: a + b, l) # 55
使用说明:
reduce(function, iterable)
这里主要介绍了Python中重要的五个内置函数,主要有lambda函数、map函数、filter函数、zip函数及reduce函数,这些函数在我们日常编程过程中可以帮助我们简化我们的程序,使得代码看起来会更加的清爽,同时代码量也会随之减少。
Keep thinking, keep coding! 2021-07-25