多语言展示
当前在线:120今日阅读:61今日分享:18

自学Python-自定义函数

从函数的定义,调用,参数,返回值等方面,归纳了一些自己的认识。
1,函数的定义:
2

1)以 def 关键词开头,标志着自定义一个函数;2)函数名自己起,最好是一些看了便知这是什么样功能的函数;以字母开头,中间不能有空格,不能有标点符号。3)圆括号括起来的参数,用来传递参与运算的数据,参数可以没有,也可以有多个。4)冒号,函数内容以冒号开始,换行缩进。就如同小说中某某人说:。5)函数体里的代码就是你实现一个功能的思想。这些代码属局部作用域,只在此函数内有效。6)return 后面跟你想要返回的值。可以不写return,相当于返回 None。例如:#定义求一个数平方的函数--------------------def squre(i):     s=i*i     return  --------------------

2.调用函数:
1

调用函数:函数名(参数)

2

最好的方法是给函数实例化一个对象。

3.函数参数
1

理解形参和实参:上例中的i,是个变量,叫形参。定义函数时的参数。在函数被调用时的10,叫实参,调用函数时的参数。这就像定义一个变量一样,i=10,函数在被调用时,按你传的参数运行。

2

位置实参:定义函数时可以有多个形参。那么在调用函数时,也要传递对应数量的实参,而且位置按顺序对应。#求三角形面积的函数: --------------------def triagle_area(b,h):     s=b*h/2     print('面积:',s) triagle_area(6,8)--------------------输出:24.0例子中的调用函数传递的实参6对应b,8对应h。

3

关键字实参:这种写法是为了避免对应的顺序出错。直接在实参中用赋值的形式,这样即使位置顺序不对,也不会出错;例如:#求三角形面积的函数:--------------------def triagle_area(b,h):     s=b*h/2     print('面积:',s) triagle_area(h=8,b=6)-------------------- 输出:24.0 注意:位置顺序可以变,不能把形参的名字搞错。

4

默认参数:在定义函数时直接给形参赋值,这个参数就是默认参数。在不提供实参的情况下调用函数,函数会把默认的值当实参。--------------------def triagle_area(b=1,h=1):     s=b*h/2     print('面积:',s) triagle_area(8)--------------------输出:4 这个例子里,8对应位置b,h是默认值1,所以结果是4。

5

元组类型参数(一星参数):写法是:在形参前面加一个星号。这个星号代表参数是个元组类型参数。传入的参数可是1个2个,多个,甚至不传都可以。

6

当一个函数有多个参数,要将一个元组中对象中的元素分别作为函数的参数时,需要将元组对象前加星号传递,例如三个数相乘的函数 --------------------num_tup=(6,5,4) def numbers(x,y,z):     xyz=x*y*z     return xyz #num=numbers(num_tup) num=numbers(*num_tup) print( num)--------------------输出:120

7

字典类型参数(两星参数):写法是:在形参前面加两个星号。这个星号代表参数是个字典类型参数。传入的参数形式是多个 键=值,例如:生成一个字典的函数:-------------------- def make_dict(**d):     print(d) make_dict(x=1,y=2,z='master') --------------------输出:{'x': 1, 'y': 2, 'z': 'master'}

4.函数返回值注意的事项:
1

返回值:返回值可以是python中的各种类型,初学时被搞糊涂的一个地方,在这里提一下:--------------------def nameMake_1(firstname):     name_1=firstname+'建国'     return name_1 a=nameMake_1('赵') print(a,type(a))  def nameMake_2(firstname):     name_1=firstname+'建国'     name_2=firstname+'伟国'     return name_1,name_2 b=nameMake_2('赵') print(b,type(b))-------------------- 输出:赵建国 ('赵建国', '赵伟国')  a的类型时字符串。b的类型是个元组。 但在定义函数的时候并不是写的 return (name_1,name_2);所以见到return后有多个用逗号隔开的值时,应该知道它是一个元组。

2

函数中可以有多个return,但返回值只有一个return的返回值。这自然就想到了if语句。选择符合条件的结果返回。例如:--------------------def get_max(a,b):     if a>b:         return f'{a}最大'     elif a

推荐信息