黑马程序员技术交流社区

标题: 【上海校区】python入门(四)--函数简要概述 [打印本页]

作者: 梦缠绕的时候    时间: 2018-9-5 09:36
标题: 【上海校区】python入门(四)--函数简要概述

函数

调用函数

Python 内置函数:官方文档链接:点击打开链接

求绝对值:

还可以通过变量名,引用函数:



定义函数

在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。

return None可以简写为return。

例如:

>>> cacu(5)

10

定义空函数可以用pass语句:


返回多个值时:returnx,y

其实返回的是一个tuple对象,(x,y),括号可以省略

函数的参数默认参数:

默认参数可以简化函数的调用。设置默认参数时,有几点要注意:

一是必选参数在前,默认参数在后,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面);

二是如何设置默认参数。

当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。

如:水果店卖水果,需要输入水果类型和价格


调用时,只需要传入两个值:f,p:

>>> sale('apple',34.33)

fruit:apple

price:34.330000

但是如果,我还需要知道有关水果其他信息,比如水果店的位置还有店铺名称,

可以把位置s和名称name设为默认值:


>>> sale('apple',34.22)

fruit:apple

price:34.220000

situation:NJ

name:SN

可见,默认参数降低了函数调用的难度,而一旦需要更复杂的调用时,又可以传递更多的参数来实现。无论是简单调用还是复杂调用,函数只需要定义一个。

定义默认参数要牢记一点:默认参数必须指向不变对象!

可变参数:

在参数前加上*


>>> grade =(66,77,99,44,66)

>>> allgrades(1,2,3,4,5,6)

21

>>>allgrades(*grade)

352

关键字参数:

可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。


参数组合:

在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。

递归函数

定义阶乘的函数:f(n)=f(n-1)*n:


>>> f(3)

6

>>> f(4)

24



作者: 不二晨    时间: 2018-9-6 11:15
奈斯




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2