【Python教程】四、如何理解Python的函数?(一)

更多教程请私信~

来源:思路实验室 

作者:室长

大家好,欢迎来到思路实验室出品的不够严肃的Python教程,我是室长。

看到这节的标题,不少同学可能已经回忆起了被高数(无论是高等数学还是高中数学)支配的恐惧了。

但请先不要紧张,我们暂时没有必要去重新回顾高数里的函数,反而编程里的函数和图片里的还是有几分相似的。

在上一节中我们已经使用了两个函数,input和print。

细心的同学就发现了,我们在代码中使用函数是怎么使用的呢?是一个函数名后边跟着一个括号,括号里放着一些东西,就像是一张嘴含着什么。

含着什么呢?函数函数含的肯定是数啊,这里含着的数我们称它为参数。参数可以是各种东西,数值也可以,句子也可以,变量也可以,甚至函数也可以。(开局一条鲲,进化全靠吞) 我们后边会详细说明,这里再挖一个坑。

同时我们可以看到,在PyCharm的语法高亮小秘书的辛勤工作下,代码里的input和print都变成了紫色,这意味着input和print这两个函数都是Python语法中自带的(刻在DNA里的)函数,即内置函数

自带的函数?那是不是意味着还有不自带的函数?室长告诉你,有,甚至你可以自己编写一个函数。不需要太多的基础知识,我们现在就可以开始编写。

在编写函数之前需要知道我们是为了实现一个什么功能来编写函数。这里我们把“把什么玩意装冰箱”写成一个函数:

我们在定义函数的第一行写了一个def,而且被语法高亮小秘书调成了橙色,这意味着def是一个关键字(keyword)。在Python中,关键字都是具有固定功能的,所以你所有可以命名的东西不能与关键字一样。就好像如果一个学生叫“下课”,那估计课上老师点名是点不到他了。

在这里这个def就是定义函数的意思(define),随后写一下想要定义的函数名字,后接括号,括号里写入参数,括号后加冒号。

注意这里填入的变量实际上发挥的是坑位的作用。

举个例子:有一个公司,招聘一个工程师,主要业务是写代码,张三被录用了,从此以后张三就在公司写代码。后来张三辞职了,李四被录用成为工程师,又变成了李四在公司写代码。但不管是张三还是李四,对于公司来说,公司只要规定工程师去写代码就可以了。此外,公司有可能觉得工程师这个职位名称太单调太普通,不能给人眼前一亮的感觉,把工程师改成首席代码撰写官,可不可以?一样可以,只要把公司里所有涉及工程师的内容全部改成首席代码撰写官就可以了,实际上干的活是一样的。

那在这个例子中,公司的职位在函数中就是参数。而我们在定义函数的过程中用来占坑的参数,被称为形参,即形式上的、抽象的参数。

至此,我们来整体看一下第一行代码,代码内容相当于告诉解释器:解解,我要定义一个函数,函数的名字叫“装冰箱”,需要用到一个参数叫“什么玩意”。这些都属于套话,只要定义函数都得这么说。最后的冒号意味着,后边的内容我要正式开始说这个函数是怎么运行的了。

然后我们再看第二行。咦,代码怎么空了几个格才开始?

记得刚才的冒号吗?冒号之后要正式开始编写函数,那编写函数的语句是不是从属于定义函数的过程?也就是冒号之后的这些行都服务于同一个目的,所以要把他们整理到一起,形成一个代码块。在其他语言中可能会用括号或关键词,而在Python中使用的是缩进,也就是4个英文空格。而我们使用PyCharm时就可以直接按一下tab键形成缩进。等什么时候我们的函数编写完了,又要进行新的操作,这时我们在新的一行取消缩进就可以了。

另外可以看到这里从定义函数开始的一行到最后的一行多了两个小箭头,点一下看看:

唰的一下,定义函数的代码块被折叠了起来。PyCharm的折叠小秘书又跟大家见面了。当我们写完一个代码块的时候,如果不希望它占着代码的版面,可以点一下折叠。如果你写到几百行代码,你就会发现,用了折叠的代码看上去简直神清气爽。当我们想重新查看代码块的内容时,我们只要点击左边的加号展开或者用鼠标悬停在代码冒号右边的三个点上就可以。

让我们赶快来运行一下程序:

这就完了?啥也没有呀?

注意啦,在这段代码中我们仅仅是定义了函数,而没有去使用它,所以解释器回给我们的信息基本就是“朕知道了”的意思。我们还需要使用这个函数才能得到我们期待的结果,而这里的使用被称作调用

这次没问题了,在调用函数之前,我们先定义一下我们操作的变量。这次室长特意换了一下变量名,取名叫“这个玩意”,然后给它赋值为“大象”,最后,把“这个玩意”塞到函数预留的“什么玩意”的参数坑位里,蛮合适。如果我们把“这个玩意”赋值成“骆驼”会怎么样?大家自己去探索吧!

这一期我们初步了解了函数的定义和调用,因篇幅所限,即便是讲解函数的最基本概念也无法在一篇文章内说清楚,所以下一期我们继续讲解函数:如何理解Python的函数(二)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值