正在阅读《第五节 函数》
第(1/2)页


熟练运用函数是使用Python进行编程的重要技能。在开发程序时,如果某部分代码所实现的功能需要被多次使用,为了提高编写的效率以及代码的简洁性,就可以把具有独立功能的代码组织为一个小模块,这就是函数。在使用这个功能时,只需要通过函数名(加参数)来调用它就可以了。

1.定义函数

函数按如下方式定义。

def 函数名(参数):

描述函数功能的代码

另一行描述函数功能的代码

注意函数名称由字母、下划线和数字组成,且数字不能用在开头。Python推荐函数名称使用小写字母,可以用下划线分隔单词以增加名称的可读性。

这里有一个重要的提示。在定义函数时描述函数功能的代码需要缩进四个空格,这在Python中是一个固定的模式,即所有同一层次的语句必须包含相同的缩进空格数量。例如,上述两行描述函数功能的语句属于同一层次,所以都要缩进四个空格。对于熟悉其他编程语言的人来说,这是尤其需要注意的一个不同之处。在Python中,缩进包含了严格的语法规则和逻辑性,缩进错误会导致代码执行错误。在其他代码块中,例如,一个循环语句,同样要坚持这样的缩进方式,如果有代码块的嵌套,则需要在上一个层次缩进的基础上进一步再缩进四个空格,读者可以在学习本教材后续的应用案例的过程中慢慢熟悉这样的代码书写方式。使用Spyder编写代码时,编辑器会自动根据Python的语法规则进行缩进,所以很多时候不需手动缩进,但这不是万无一失的。请阅读下述代码,熟悉Python的这种表述方式。

ifTrue:

print("HelloPython!")

else:

print("HelloWorld!")

上述缩进也可采用按一次“Tab”键完成。在“编程界”一直存在“空格派”和“Tab派”两个派别,他们对于采用什么按键进行缩进各执一词,但是初学者不需要过度关注这样的细节问题,只要知道两种缩进方式都是可以使用的就可以了。

2.调用函数

函数定义完成之后,相当于有了一个具有某些功能的代码组合,想要使用这个功能的时候就可以很方便地调用它了。调用函数的方式很简单,使用命令:“函数名(参数)”即可完成调用。

请尝试下面的示例来熟悉这种操作。

#定义一个函数,能够完成打印信息的功能

defprint_info():

print('------')

print('人生苦短,我用Python')

print('------')

#定义完函数后,函数是不会自动执行的,需要调用它才可以

#调用函数

print_info()

在上面的练习中,出现了一个编写代码时常用的方法,就是通过“#注释内容”来对代码所实现的功能进行注释。“#”之后的内容,Python认为是关于代码含义的注释内容,在执行的过程中会被自动忽略。养成良好的注释习惯,对于编写程序是一个很重要的事情,因为这会极大地增加程序的可读性。

3.函数参数

考虑这样一个问题:定义一个函数,使得每次输入两个数后,这个函数能够完成这两个数的加法运算并且把结果打印出来,该怎样设计?

一个好的设计方式是利用函数的参数。为了让函数更通用,即令它可以计算任意给定的两个数的和,需要在定义函数的时候,让它能够接收需要求和的两个数的值,函数中用来接收这两个数的量就是函数的参数。定义好带有参数的函数后,在调用时就可以使用这些参数了,请看下面的例子。

(1)定义带有参数的函数

下面的例子中定义了包含两个参数的函数。

#定义函数

defadd_2_num(a,b):

c=a+b

print('%d+%d=%d'%(a,b,c))

调用函数:

num1=int(input('请输入一个数:'))

num2=int(input('请再输入一个数:'))

相关小说

乱世之庶民崛起 历史 / 完结
乱世之庶民崛起
腾瀚育珠
一朝穿越,云凡来到了大晟赵顺年间,此时北方大旱,南方水灾,九州王侯各自为政,百姓水深火热,造反不断。
113.27万字 51 分钟前
大唐:逍遥小地主 历史 / 完结
大唐:逍遥小地主
守诺v1
大唐贞观年间,天降大雪,百姓民不聊生。赵牧,现代大学生穿越大唐,觉醒签到系统,打造庄子,准备当个小地主,过完此生。一日,庄子外,抓获俩男子,自此平淡的生活被打破。交流一番,二人结为兄弟。“贤弟,如今这雪灾,流民一事该如何解决呢?贤弟,你这个土豆,...
160.31万字 1 小时更新
晨唐旧梦 历史 / 完结
晨唐旧梦
烟云客横渡积水潭
急诊科实习生张三因电梯失事意外穿越到大唐贞观年间,在程咬金的推荐下进入庙堂,又得到房玄龄的赏识,迎娶其女房可盈。造纸、活字印刷,推广土豆种植,帮助李世民瓦解世家大族的势力,深受李世民宠信。
102.62万字 1 小时更新
梦中欢 都市 / 完结
梦中欢
公子凉夜
成为神女的前夜,穆之做了一个春梦,醒来发现守宫砂消失,在神女大典上被当众捉拿,沉河示众。 穆之被好友金圆圆救回第二寨,本想安顿下来当个土匪,结果再次做梦,梦中发生了什么,她的身体上也会有所反应。 当穆之醒来发现梦中人在她肩头画的花真实出现在自己的身上时,她决定找出这个害自己无缘神女的罪魁祸首——而那个人正是司玉,传说中清心寡欲、无欲无求的天族尊主…… 这个尊主会害羞,会护妻,还会追妻…… 前六世的结局,你都在我怀中死去。这一世,我要提前遇见你,逆天改命。 ...
14.38万字 4 年前
我守护了全人类五千年 都市 / 完结
我守护了全人类五千年
夜闻入梦
龟岛八歧大蛇见他要行三跪九叩大礼。米国幸运女神亲吻下他的脚掌,都能吹上几百年。就连奥林匹斯山的圣女也为他终生不嫁,守身如玉。神魔复苏,异族入侵。当那些超出想象的恐怖存在降临,看到他一人一剑傲然而立,扭头就跑。发出绝望的惊吼:“天呐!这个活爹怎么还活着呢?!”他叫风云,一个默默守护了世界五千年的守护神,一心只想做个平凡人… ...
19.92万字 5 年前
假相成真 都市 / 连载
假相成真
一颗桃子树
梧桐落叶间重逢,昔日领证便飞走的薄情渣男强势回归。沈木戈将她困于方寸之地,如品鉴法式珍馐般细致拆解她的温柔。看似假意周旋的深情,实则是早已暗潮涌动的占有。这场势均力敌的双向试探在床笫间彻底失控,极致欢愉中确认彼此心意,专属甜宠剧情让女孩心动不已。
1.86万字 3 小时前