本教程使用的课本是《Python编程:从入门到实践》,作者:[美] Eric Matthes

本节介绍Python中的函数,函数是可以反复使用的一段代码,有了函数能大大简化编程工作量,还能使代码更加简洁,所以我们需要将能用函数表示的代码都写成函数。

比如需要输出我最喜欢的书是什么?我可以定义一个输出函数favorite_book(),每次调用这个函数时会打印出“我最喜欢的书是:某某书”,请看代码:

deffavorite_book(book):

"""输出我最喜欢的书""" print('我最喜欢的书是:'+book)favorite_book('巴黎圣母院')favorite_book('飘')

对上面代码的说明:

1、用def关键字定义一个函数。

2、函数名后面需要有个括号,括号后面必须有个冒号“:”,比如favorite_book(book):。

3、紧跟在函数名下面的的所有缩进行构成了函数体。

4、代码第二行中的三个引号被称为文档字符串的注释,用来描述函数的作用。

5、函数名后括号中的book是函数的参数,可以用来传递数据,本例就是用来传递各种书籍名,这个参数可以是零个或者多个。

6、print('我最喜欢的书是:'+book)是这个函数的唯一一行代码,当然代码可以有很多行,只需要在缩进体内就行。

7、要调用函数,只需要写函数名和括号中必须的信息即可,本例是这么调用的:favorite_book('巴黎圣母院')

二、函数的参数使用说明

1、位置实参

位置实参的意思是函数调用时参数的顺序要和函数定义时写的参数位置一样,否则执行结果会偏离预期。

下面来看多个函数参数的情况,对上面书籍的代码稍加改造,增加一个书籍类别的参数:

deffavorite_book(btype,book):"""输出我最喜欢的书""" print('我有一本'+btype+'类的书') print('这本'+btype+'书名叫:'+book)favorite_book('哲学','易经')favorite_book('长篇小说','飘')

上面的两个参数在调用函数的时候顺序要对应,如果没对应就会出现错误。请看下面代码,将“易经”写在前面,“哲学”写在后面的输出结果:

2、关键字实参

关键字实参是传递给函数时使用“名称=值”这种方式,这样函数在调用的时候就不会混淆。比如还是上面的代码,我们在传递书籍类别和书名的时候直接指定了参数名,虽然书名在前面,类别在后面,但是执行结果是正确的,因此使用关键字实参不考虑参数的顺序。

deffavorite_book(btype,book):"""输出我最喜欢的书""" print('我有一本'+btype+'类的书') print('这本'+btype+'书名叫:'+book)favorite_book(book='易经',btype='哲学')

3、参数的默认值

函数参数是可以有默认值的,比如在上面中增加一个“页数”的值,默认是900页,看看执行结果:

deffavorite_book(btype,book,page='900'):"""输出我最喜欢的书""" print('我有一本'+btype+'类的书') print('这本'+btype+'书名叫:'+book) print('这边书一共有'+page+'页')favorite_book('哲学','易经')print()favorite_book('小说','飘','1200')

我们注意到在调用函数时,page这个参数可以填,也可以不填。如果不填,它的默认值就是900,如果填写了,就按填写的值展示。

4、等效调用

上面讲了这么多,大家可能发现函数其实是有多种调用方式的,下面五种调用方式,执行的结果都是一样的,请看代码:

favorite_book('哲学','易经')favorite_book('哲学','易经','900')favorite_book(book='易经',btype='哲学')favorite_book(btype='哲学',book='易经')favorite_book(btype='哲学',book='易经',page='900')

本节介绍了函数的定义及函数的参数传递方式,下一节将继续学习函数的相关知识,感谢您的耐心观看!长按文末点赞送三连,支持本文作者多写点~

python函数定义和其四种参数_python入门第九课:函数的定义及多种参数传递方式...相关推荐

  1. python列表用来有序存放一组_python入门第二课------列表

    1. 列表可以用来存储字符,数字等信息 在geany(文本编辑器也可以直接在python终端输入)里输入以下内容: equipment=['train','car','plane']     /* e ...

  2. python切片表达式3个参数_Python:Base3(函数,切片,迭代,列表生成式)

    汉诺塔 (http://baike.baidu.com/view/191666.htm) 的移动也可以看做是递归函数. 我们对柱子编号为a, b, c,将所有圆盘从a移到c可以描述为: 如果a只有一个 ...

  3. python中函数参数传递的三种方式_python中函数参数传递的几种方法

    转自  http://www.douban.com/note/13413855/ Python中函数参数的传递是通过"赋值"来传递的.但这条规则只回答了函数参数传递的"战 ...

  4. python函数的基础知识_Python入门基础知识点(函数进阶)

    动态参数: 动态接收位置参数: def eat(*args): #在形参位置,*叫做聚合 print('我想吃',args) eat('大米饭','中米饭','小米饭') #收到的结果是一个tuple ...

  5. python通过封装可以实现代码复用_Python学习笔记(五)函数和代码复用

    函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Python提供了许多内建函数,比如print().同样,你也可以自己创建函数, ...

  6. python中组合数据类型、函数和代码复用的难点_Python电子教案5-2 函数和代码复用...

    <Python电子教案5-2 函数和代码复用>由会员分享,可在线阅读,更多相关<Python电子教案5-2 函数和代码复用(56页珍藏版)>请在人人文库网上搜索. 1.七段数码 ...

  7. delphi中的函数传参如何传枚举参数_Python基础笔记Day05函数

    Python函数 function 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print().但 ...

  8. python __call__一般用在哪些地方_Python __call__内置函数的作用和用法

    开学了进入了实验室,需要协助大师兄做事,主要是OpenStack中的代码解析,但是涉及很多python高级用法,一时间有点麻烦,在做项目的同时慢慢更新博客.这次先写一下__call__的用法,因为经常 ...

  9. python语言属于哪一种语言_Python与Java:你应该学习哪种语言,他们有什么区别?...

    在企业招聘中, Python和Java经常是需求最大的编程语言.这两种编程功能强大,灵活且面向对象的语言,通常在组织中和各种其他设置中使用. 这可能会导致我们提出一个不可避免的问题:哪个更好? 这是一 ...

最新文章

  1. 深度文本匹配在智能客服中的应用
  2. 转载:【opencv入门教程之三】:组件结构
  3. java同步方法的特点_java多线程有哪些优点?同步实例代码展示
  4. vs 2012,vs 2013问题系列
  5. IBM 、M$ 、Google Apple
  6. ThinkPHP文件上传
  7. 简单就是不复杂 转
  8. 基于卷积神经网络的大豆病害识别
  9. @font-face 字体图标的应用
  10. 基于AIML2.0写一个机器人
  11. 微信小程序之短信验证码
  12. Google 再被欧盟调查,安卓系统是如何建立垄断的?
  13. 推荐算法工程师面试准备
  14. Js 根据经纬度坐标计算方位角
  15. 单片机原理及应用 实验一 计数显示器
  16. 【机器学习】聚类【Ⅰ】基础知识与距离度量
  17. 深圳周边户外活动经典线路----转载
  18. Cocos Creator 微信小游戏 填坑记录
  19. 互联网摸鱼日报(2022-10-24)
  20. c语言统考试卷10,C语言统考试卷.doc

热门文章

  1. 实战:基于深度学习的道路损坏检测
  2. DeepLabv3:语义图像分割
  3. 基于OpenCV修复表格缺失的轮廓--如何识别和修复表格识别中的虚线
  4. Kubernetes(基础 一):进程
  5. 正面反击 Google、FB 等巨头,万维网之父携 Solid 归来
  6. 《Hibernate 系列》- 入门例子
  7. nginx的优先匹配规则
  8. vim中权限不足时不用退出而强制保存
  9. SQLite管理工具绿色
  10. 电子邮件的故事:令人吃惊的预测