加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

将函数作为第一类对象的意义

发布时间:2023-06-27 10:37:58 所属栏目:教程 来源:
导读:将函数作为第一类对象,是一种重要的抽象机制,极大的提升了程序的灵活性。通过一个例子进行说明。假设需要完成这样的任务:

存在一个列表 [1, -1, 2, -2, 3, -3]

打印输出列表中的正数

打印输出列表中的负
将函数作为第一类对象,是一种重要的抽象机制,极大的提升了程序的灵活性。通过一个例子进行说明。假设需要完成这样的任务:

存在一个列表 [1, -1, 2, -2, 3, -3]

打印输出列表中的正数

打印输出列表中的负数

我们使用两种方法实现:

包含重复性代码的解决方法

将函数作为参数传递

2.1 包含重复性代码的解决方法
list = [, -, , -, , -]def print_positive(list):for item in list:if item > :print(item)def print_negative(list):for item in list:if item < :print(item)print_positive(list)print_negative(list)
在第 3 行,定义了函数 print_positive,该函数打印 list 中的正数

在第 8 行,定义了函数 print_negative,该函数打印 list 中的负数

对比函数 print_positive 和函数 print_negative,两者的相似度很高

代码的结构完全相同

遍历 list 时,两者的选择条件不一样,print_positive 使用 item > 0 的条件选择,print_negative 使用 item < 0 的条件选择

程序的输出结果如下:

1
2
3
-1
-2
-3
2.2 将函数作为参数传递
list = [, -, , -, , -]def select_positive(x):return x > def select_negative(x):return x < def select(list, select_function):for item in list:if select_function(item):print(item)select(list, select_positive)select(list, select_negative)
在第 3 行,定义了函数 select_postive,如果参数 > 0,则返回真

在第 6 行,定义了函数 select_negative,如果参数 < 0,则返回真

在第 9 行,定义了函数 select,包含两个参数,第 1 个参数是列表,第 2 个参数的类型是函数

在第 10 行,遍历列表 list

在第 11 行,参数 selct_function 是一个函数,用于选择是否选中当前正在遍历的数值

在第 14 行,将函数 select_positive 作为参数传递给函数 select,函数打印列表中的正数

在第 15 行,将函数 select_negative 作为参数传递给函数 select,函数打印列表中的负数

程序的输出结果如下:

1
2
3
-1
-2
-3
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章