python学习笔记——函数的使用
1. 函数的基本格式
python中用def保留字定义一个函数,语法如下:
def(函数名)<参数列表>:
<函数体>
return<返回值列表>
函数名可以是任何有效的Python标识符,参数列表是调用该函数时传递给它的值,可以有零个、一个或多个,当传递多个参数时各参数由逗号分隔,当没有参数时也要保留圆括号。
函数定义中参数列表里面的参数是形式参数,简称为“形参”。函数体是函数每次被调用时执行的代码,由行或多行语句组成。当需要返回值时,使用保留字return和返回值列表,函数可以没有return语句。
1.1 函数的调用
函数的调用基本语句如下:
<函数名>(<参数列表>)
此时,参数列表中要给出传入函数内部的参数,这类参数为实际参数,简称“实参”
1.实例
def hard (name):
print("{}努力学习,努力工作!".format(name))
hard("u-dream")
hard("u-dream")
-------------------------------------------------
#输出结果
u-dream努力学习,努力工作!
u-dream努力学习,努力工作!
在这个实例中,name是形参,输入的"u-dream"是实参,代替掉name,用于函数的执行。
2. 函数的调用过程
程序调用一个函数需要执行以下4个步骤。
(1)调用程序在调用处暂停执行。
(2)在调用时将实参复制给函数的形参
(3)执行函数体语句。
(4)函数调用结束给出返回值,程序回到调用前的暂停处继续执行。
3. lambda函数
3.1 语法格式
<函数名> = lambda <参数列表>:<表达式>
简单来说,lambda函数用于定义简单的,能在一行内表示的函数。
lambda函数称为“匿名函数”,但它并非没有名字,而是将函数名作为函数结果返回。
3.实例
>>> d = lambda a,b:a*b
>>> type(d)
<class 'function'>
>>> d(10,11)
110
4. 函数的参数传递
4.1 可选参数
在定义函数时,如果有些参数存在默认值,即部分参数不定需要调用程序输入,可以在定义函数时直接为这些参数指定默认值。当函数被调用时,如果没有入对应的参数值,则使用函数定义时的默认值替代。
4.1.实例
>>> def dream(str,times = 3):
print(str*times)
>>> dream("come ture")
come turecome turecome ture #没有入对应的参数值,则使用函数定义时的默认值替代
>>> dream("come ture",4)
come turecome turecome turecome ture
4.2 可变数量函数
设置可变数量函数,通过在参数前增加(*)实现。带有星号得可变参数只能出现在参数列表的最后。调用时,这些参数被当作元组类型传递到函数中。
4.2.实例
>>> def func(a,*b):
for n in b: #用n去遍历b中的元素
a=a+n
return a
>>> func(1,3,4,5)
13 #a被赋值1,与b组的每一个元素相加,最后返回结果
5. 函数的位置与名称的传递
函数调用时,实参默认采用按照位置顺序的方式传递给函数。这种按照位置传递参数的方法固然很好,但当参数很多时,这种调用参数的方式可读性较差。在规模稍大的程序中,函数定义可能在函数库中,也可能与调用相距很远。
为了解决上述问题,Python提供了按照形参名称输入实参的方式,通过调用函数时指定参数名称,使得参数之间的顺序可以任意调整。
5.实例
def func(x1,x2,x3,x4,x5,x6)
return
#它可以有这么一个实际调用
result =func(1,2,3,4,5,6)
#或者这样的调用
result =func(x1=1,y1=4,x2=2,x3=3,y2=5,y3=6) #此时它的循序是打乱的
6. 函数的返回值
return语句用来退出函数并将程序返回到函数调用的位置继续执行。return语句可以同时将0,1或多个函数运算后的结果返回给函数被调用处的变量。
函数没有return时,,不返回值。当返回多个值时,以元组类型保存。
6.实例
>>> def func(a,b):
return a+b
>>> s =func("dream"," come ture")
>>> print(s)
dream come ture
>>> def func(a,b):
return b,a
>>> s = func("dream"," come ture")
>>> print(s)
(' come ture', 'dream') #此时以元组形式保存
前4章传送门:
4.python学习笔记——random库的运用:python学习笔记——random库的运用
3.python语言学习——循环结构:python语言学习——循环结构
2.python语言学习——分支结构:python语言学习——分支结构
1.python语言学习-format语句应用:python语言学习-format语句应用
欢迎朋友萌帮我斧正,一起交流交流~