http://www.yuyong.net

图文解析自学Python-自定义函数

电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到自学Python-自定义函数的问题,如果我们遇到了自学Python-自定义函数的情况,该怎么处理怎么...

电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到自学Python-自定义函数的问题,如果我们遇到了自学Python-自定义函数的情况,该怎么处理怎么才能解决自学Python-自定义函数带来的困扰呢,对于这样的问题其实我们只需要用名词解释的形式来给他定义,你看十个教程可能有十个解释,但大体的意思就是,用代码来实现一个功能,减少代码的重复使用。python的提供的函数称内置函数。我们自己写的函数叫自定义函数,格式如下:--------------------------------------def 函数名(参数): 函数体 return 值--------------------------------这样就解决了这样的问题,接下来给大家带来自学Python-自定义函数的详细操作步骤。

1,函数的定义:

用名词解释的形式来给他定义,你看十个教程可能有十个解释,但大体的意思就是,用代码来实现一个功能,减少代码的重复使用。

python的提供的函数称内置函数。

我们自己写的函数叫自定义函数,格式如下:

--------------------------------------

def 函数名(参数):
函数体
return 值

----------------------------------------

图文解析自学Python-自定义函数

1)以def关键词开头,标志着自定义一个函数;

2)函数名自己起,最好是一些看了便知这是什么样功能的函数;以字母开头,中间不能有空格,不能有标点符号。

3)圆括号括起来的参数,用来传递参与运算的数据,参数可以没有,也可以有多个。

4)冒号,函数内容以冒号开始,换行缩进。就如同小说中某某人说:。

5)函数体里的代码就是你实现一个功能的思想。这些代码属局部作用域,只在此函数内有效。

6)return 后面跟你想要返回的值。可以不写return,相当于返回 None。

例如:

#定义求一个数平方的函数

--------------------

def squre(i):
s=i*i
return

--------------------

图文解析自学Python-自定义函数

2.调用函数:

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

图文解析自学Python-自定义函数

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

图文解析自学Python-自定义函数

3.函数参数

理解形参和实参:

上例中的i,是个变量,叫形参。定义函数时的参数。

在函数被调用时的10,叫实参,调用函数时的参数。

这就像定义一个变量一样,i=10,函数在被调用时,按你传的参数运行。

图文解析自学Python-自定义函数

位置实参:定义函数时可以有多个形参。那么在调用函数时,也要传递对应数量的实参,而且位置按顺序对应。

#求三角形面积的函数:
--------------------

def triagle_area(b,h):
s=b*h/2
print("面积:",s)
triagle_area(6,8)

--------------------

输出:24.0

例子中的调用函数传递的实参6对应b,8对应h。

图文解析自学Python-自定义函数

关键字实参:

这种写法是为了避免对应的顺序出错。直接在实参中用赋值的形式,这样即使位置顺序不对,也不会出错;例如:

#求三角形面积的函数:

--------------------

def triagle_area(b,h):
s=b*h/2
print("面积:",s)
triagle_area(h=8,b=6)

--------------------

输出:24.0

注意:位置顺序可以变,不能把形参的名字搞错。

图文解析自学Python-自定义函数

默认参数:

在定义函数时直接给形参赋值,这个参数就是默认参数。

在不提供实参的情况下调用函数,函数会把默认的值当实参。

--------------------

def triagle_area(b=1,h=1):
s=b*h/2
print("面积:",s)
triagle_area(8)

--------------------

输出:4

这个例子里,8对应位置b,h是默认值1,所以结果是4。

图文解析自学Python-自定义函数

元组类型参数(一星参数):

写法是:在形参前面加一个星号。这个星号代表参数是个元组类型参数。

传入的参数可是1个2个,多个,甚至不传都可以。

图文解析自学Python-自定义函数

当一个函数有多个参数,要将一个元组中对象中的元素分别作为函数的参数时,需要将元组对象前加星号传递,

例如三个数相乘的函数

--------------------

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

图文解析自学Python-自定义函数

字典类型参数(两星参数):

写法是:在形参前面加两个星号。这个星号代表参数是个字典类型参数。

传入的参数形式是多个 键=值,

例如:生成一个字典的函数:

--------------------

def make_dict(**d):
print(d)
make_dict(x=1,y=2,z='master')

--------------------

输出:{'x': 1, 'y': 2, 'z': 'master'}

图文解析自学Python-自定义函数

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

返回值:

返回值可以是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))

--------------------

输出:

赵建国 <class 'str'>

('赵建国', '赵伟国') <class 'tuple'>

a的类型时字符串。

b的类型是个元组。

但在定义函数的时候并不是写的 return (name_1,name_2);

所以见到return后有多个用逗号隔开的值时,应该知道它是一个元组。

图文解析自学Python-自定义函数

函数中可以有多个return,但返回值只有一个return的返回值。

这自然就想到了if语句。选择符合条件的结果返回。

例如:

--------------------

def get_max(a,b):
if a>b:
return f'{a}最大'
elif a<b:
return f'{b}最大'
else:
return f'{a}等于{b}'
print(get_max(5,1))

--------------------

输出:5最大

图文解析自学Python-自定义函数

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。