-
Python 内置了很多函数,可通过函数名和参数直接调用
-
交互式命令行可通过
help(fn)
查看 fn 函数的帮助信息 -
Python 内置数据类型转换函数,如
int(x)
可将 x 转为 int 类型,同理还有float(x)
、str(x)
、bool(x)
-
可以将函数名赋给一个变量,即给函数起 别名,再通过变量名调用指定的函数
-
定义函数使用
def
语句,一次写出函数名、括号、括号中的参数即冒号:
,并在缩进块中编写函数体,返回值用return
返回 -
函数会在执行
return
后结束,并返回结果,没有return
语句时会返回None
,return None
可简写为return
-
from <py file name> import <function name>
可以导入其他文件中定义的函数 -
pass
语句用于占位,什么都不做 -
isinstance(target, classes)
用于类型检查,返回布尔值 -
Python 中可同时返回多个值,实际上为一个 tuple
-
Python 的函数定义很灵活,除了正常的必选参数外,还有 默认参数,可变参数,和 关键字参数
-
默认参数必须在必选参数后,在定义函数时给参数设置默认值。当调用函数时如没有传入默认参数的值,就采用默认值
-
默认参数的默认值必须为不可变对象,不能是
[]
等可变对象 -
可变参数通过在参数前加
*
表示,如cale(*numbers)
,在函数内部,参数 numbers 接收到的是一个tuple
。调用该函数时,可传入 0 到任意个参数 -
可在 list 或 tuple 前加
*
转为可变参数传入函数中 -
关键字参数即 含参数名的参数,在函数内部自动组装为一个 dict。在参数前加
**
表示,如def person(name, **kw): print('name:', name, 'kw', kw)
-
调用上面函数时,可传入任意个关键字参数。如
person('AAA', city='Beijing', job='Engineer')
-
在需要传入关键字参数时,可提前组装一个 dict,并在 dict 前加
**
传入函数中 -
命名关键字参数 用于限制关键字参数的参数名,需使用分隔符
*
,*
后面的参数被视为关键字参数>>>def person(name, age, *, city, job): ... print(name, age, city, job) ... >>>person('Jack', 24, city='Beijing', job='Engineer') Jack 24 Beijing Engineer
-
如函数定义中已经有了一个 可变参数,后面跟着的关键字参数就无需添加分隔符
*
-
调用含关键字参数的函数时,比如传入参数名。
-
命名关键字参数可含有缺省值,如 `def person(name, *, city='Beijing', job)
-
在 Python 中, 必选参数、默认参数、可变参数、命名关键字参数 和 关键字参数 可按顺序组合使用
-
特别的是,Python 中的任意函数,都可以通过类似
func(*args, **kw
的形式调用 -
在函数内部调用自身的函数为 递归函数
-
所有的循环理论上都可以写成 循环 的方式,但逻辑不如递归清晰
-
尾递归即 函数返回时,调用自身本身,切
return
语句不能包含表达式 -
遗憾的是大多编程语言没有对尾递归做优化,多次调用自身会导致栈溢出
近期热议
推荐标签 标签
-
Q&A
6518 引用 • 29299 回帖 • 248 关注
提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。
-
Firefox
7 引用 • 30 回帖 • 455 关注
Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。
-
区块链
91 引用 • 751 回帖
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。
- JWT
-
创业
82 引用 • 1398 回帖 • 2 关注
你比 99% 的人都优秀么?
-
996
13 引用 • 200 回帖 • 1 关注
-
PWA
14 引用 • 69 回帖 • 132 关注
PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。
-
danl
• 61 关注
-
小说
28 引用 • 108 回帖 • 1 关注
小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。
-
iOS
84 引用 • 139 回帖 • 1 关注
iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。
-
BAE
19 引用 • 75 回帖 • 621 关注
百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。
-
ReactiveX
1 引用 • 2 回帖 • 126 关注
ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。
-
Android
333 引用 • 323 回帖 • 70 关注
Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。
-
友情链接
24 引用 • 373 回帖 • 4 关注
确认过眼神后的灵魂连接,站在链在!
-
Hadoop
82 引用 • 122 回帖 • 614 关注
Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
- IPFS
-
坑
69 引用 • 93 回帖
一些有用的避坑指南。
-
OAuth
36 引用 • 103 回帖 • 8 关注
OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。
-
WordPress
45 引用 • 113 回帖 • 317 关注
WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。
-
InfluxDB
2 引用 • 53 关注
InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。
-
FreeMarker
23 引用 • 20 回帖 • 427 关注
FreeMarker 是一款好用且功能强大的 Java 模版引擎。
-
C
83 引用 • 165 回帖 • 47 关注
C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
-
微软
8 引用 • 44 回帖
微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。
-
七牛云
25 引用 • 215 回帖 • 163 关注
七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。
-
FFmpeg
22 引用 • 31 回帖 • 3 关注
FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
-
Node.js
138 引用 • 268 回帖 • 199 关注
Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。
-
Caddy
10 引用 • 54 回帖 • 131 关注
Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于