Python学习笔记(11)- 函数(1)
发布日期:2021-10-06 14:20:16
浏览次数:1
分类:技术文章
本文共 1389 字,大约阅读时间需要 4 分钟。
- 定义函数
def greet(): print('hello.')greet()
- 传递参数
def greet(user): print('hello , ' + user.title())greet('lily')
- 实参和形参 在定义函数的时候用的user就是形参——函数完成其工作需要的信息。 在调用函数的时候用的’lily’就是实参——函数在调用函数时需要传递给函数的信息,这个值被储存在形参user中。
- 位置实参 当一个函数的形参个数不止一个的时候,在调用函数的时候就需要注意函数的位置了。
def describe_pet(pet_type,pet_name): print('I hava a ' + pet_type) ptint('It`s name is ' + pet_name)describe_pet('dog','maomao')
如果交换形参的位置,describe_pet(‘maomao’,’dog’)打印出来的语句就会出现我们不想看到的结果。
- 关键字实参 关键字实参是传递给函数的名称—值对。你直接在实参中将名称和值关联起来了,因此向函数传递实参时不会混淆。关键字实参让你无需考虑函数调用中的实参顺序,还清楚地指出了函数调用中各个值的用途。
describe_pet(pet_name = 'maomao',pet_type = 'dog')describe_pet(pet_type = 'dog',pet_name = 'maomao')
上面的两种调用方式都可以正确的,可以打印出我们想要的语句,所以在关键字调用的时候我们无需考虑实参的顺序。
- 默认值 编写函数时,可给每个形参指定默认值。在调用函数中给形参提供了实参时,Python将使用指定的实参值;否则,将使用形参的默认值。因此,给形参指定默认值后,可在函数调用中省略相应的实参。使用默认值可简化函数调用,还可清楚地指出函数的典型用法。
def describe_pet(pet_type,pet_name = ''): print('I hava a ' + pet_type) ptint('It`s name is ' + pet_name)describe_pet('dog')
值得注意的一点是,当存在有默认值的形参时,就需要在定义函数的时候把有默认值的形参放在所有形参的后面。而且,当形参有默认值的时候,那么这个参数就会变成可选参数,调用函数的时候传或者不传这个参数对函数的调用都是没有影响的。
- 返回值 在定义函数的时候,我们也可以给函数设置返回值,返回值的类型可以是很多种:字符串,整数,列表,元组,字典等都是可以的,我们也可以使用之前学过的方式去处理这些返回值。
def return_models(model_1,model_2,model_3): models = [] models.append(model_1) models.append(model_2) models.append(model_3) return modelsmodels = return_models('plane','ship','tank')for modle in models: print(model)
转载地址:https://blog.csdn.net/m0_37664906/article/details/78568042 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年03月10日 02时56分09秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
习惯不同语言以太坊开发者可选择客户端
2019-04-21
如何选择最佳CI工具:Drone VS. Jenkins
2019-04-21
前端代码质量进阶:自定义 eslint 规则校验业务逻辑
2019-04-21
Grafana配置mysql展示自定义分组柱状图(Mac)
2019-04-21
浅谈滚服游戏如果实现一键合服
2019-04-21
cmake 的正确打开方式
2019-04-21
前端构建工具(2) -- npm&yarn
2019-04-21
深入了解 Cloud Studio 开发在云端
2019-04-21
基于homestead-docker的PHP开发环境
2019-04-21
解决vuejs 创建数据后设置对象的属性实现不了双向绑定问题
2019-04-21
postgresql 笔记
2019-04-21
vue-design 桌面端页面可视化构建程序
2019-04-21
【笔记】jQuery源码(文档处理)
2019-04-21
Ubuntu MATE 推出树莓派版本
2019-04-21
JavaScript面向对象的程序设计——“对象继承”的注意要点
2019-04-21
揭秘人工智能(系列):人工智能带来的网络安全威胁 ...
2019-04-21
注于 IP 衍生品的开发和销售,52TOYS完成数千万元A+轮融资 ...
2019-04-21
微软宣布与李飞飞“以人为本 AI 研究院”建立合作关系! ...
2019-04-21
解决Qt生成exe错误:无法定位程序输入点。。。
2019-04-21
定制还是模板,我要怎么选?
2019-04-21