Python 工匠:案例、技巧与工程实践
朱雷
蓝鲸工具 PaaS 平台负责人
502 人已学习
立即订阅
登录后,你可以任选4讲全文学习
推荐试读
换一换
时长 21:38
免费
课程目录
已完结/共 20 讲
时长 21:38
时长 33:20
时长 24:04
时长 29:57
时长 00:56
时长 00:39
时长 00:36
Python 工匠:案例、技巧与工程实践
15
15
1.0x
00:00/00:00
登录|注册

第 7 章 函数(1)

第 7 章 函数

假如你把编程语言里的所有常见概念,比如循环、分支、异常、函数等,全部一股脑儿摆在我面前,问我最喜欢哪个,我会毫不犹豫地选择“函数”(function)。
我对函数的喜爱,最直接的原因来自于对重复代码的厌恶。通过函数,我可以把一段段逻辑封装成可复用的小单位,成片地消除项目里的重复代码。
试想你正在给系统开发一个新功能,在写代码时,你发现新功能的主要逻辑和一个旧功能非常类似,于是你认真读了一遍旧代码,并从中提炼出了好几个函数。通过复用这些函数,你只增加了寥寥几行代码,就完成了新功能开发——还有比这更让人有成就感的事情吗?
而消除重复代码,只是函数所提供给我们的众多好处之一。如果以它为起点,向四周继续发散,你会发现更多有趣的编程概念,包括高阶函数(higher-order function)、闭包(closure)、装饰器(decorator),等等。深入理解和掌握这些概念,是成为一名合格程序员的必经之路。
话题回到 Python 里的函数。我们知道,Python 是一门支持面向对象(object-oriented)的编程语言,但除此之外,Python 对函数的支持也毫不逊色。
从基础开始,我们最常用的函数定义方式是使用 def 语句:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Python函数的基础知识和常用技巧是本文的重点。文章深入探讨了函数的重要性和优势,包括消除重复代码、支持高阶函数、闭包和装饰器等。作者介绍了函数的定义方式,包括使用 def 语句和 lambda 关键字定义函数,以及函数作为一等对象的特性。此外,分享了编写好函数的技巧,包括避免将可变类型作为参数默认值,使用 None 替代可变类型默认值,以及定义特殊对象来区分是否提供了默认参数。文章还介绍了函数参数的使用建议,包括使用关键字参数模式提高代码可读性,以及通过特殊的参数定义语法强制调用方提供参数名。另外,介绍了Python标准库中与函数关系紧密的模块functools。其中,通过使用 functools 模块提供的高阶函数 partial(),可以简化函数定义,使代码更简洁。另外,通过 lru_cache() 函数,可以方便地给函数加上缓存功能,提高函数执行效率。文章还介绍了函数式编程领域的术语纯函数,以及在处理字符串时使用正则表达式的案例故事。整体而言,本文内容深入浅出,适合初学者快速了解Python函数的基础知识和常用技巧。文章通过实例和案例清晰地展示了函数的定义、使用技巧以及与其他Python特性的结合,为读者提供了全面的学习参考。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Python 工匠:案例、技巧与工程实践》
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部