-
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
语句不能包含表达式 -
遗憾的是大多编程语言没有对尾递归做优化,多次调用自身会导致栈溢出
近期热议
推荐标签 标签
-
Vditor
352 引用 • 1815 回帖
Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。
-
Ruby
7 引用 • 31 回帖 • 210 关注
Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。
-
心情
59 引用 • 369 回帖 • 1 关注
心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。
-
CongSec
1 引用 • 1 回帖 • 10 关注
本标签主要用于分享网络空间安全专业的学习笔记
-
AngularJS
12 引用 • 50 回帖 • 474 关注
AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。
-
Hexo
21 引用 • 140 回帖 • 2 关注
Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。
-
Vue.js
266 引用 • 665 回帖 • 1 关注
Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
-
招聘
190 引用 • 1057 回帖
哪里都缺人,哪里都不缺人。
-
GAE
14 引用 • 42 回帖 • 764 关注
Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。
-
WebComponents
1 引用
Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。
-
RabbitMQ
49 引用 • 60 回帖 • 364 关注
RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
-
宕机
13 引用 • 82 回帖 • 53 关注
宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。
-
Lute
25 引用 • 191 回帖 • 15 关注
Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。
-
星云链
3 引用 • 16 回帖
星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网
-
jQuery
63 引用 • 134 回帖 • 724 关注
jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。
-
SendCloud
2 引用 • 8 回帖 • 483 关注
SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。
-
996
13 引用 • 200 回帖 • 6 关注
-
Windows
222 引用 • 473 回帖
Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。
-
尊园地产
1 引用 • 22 回帖 • 762 关注
昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。
- Solo
-
正则表达式
31 引用 • 94 回帖
正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。
- JWT
-
Caddy
12 引用 • 54 回帖 • 164 关注
Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。
-
OAuth
36 引用 • 103 回帖 • 9 关注
OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。
-
导航
40 引用 • 173 回帖
各种网址链接、内容导航。
-
Git
209 引用 • 358 回帖 • 1 关注
Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
- Kotlin
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于