自定义函数
Python 还支持自定义函数,即将一段有规律的、可重复使用的代码定义成函数,从而达到一次编写多 次调用的目的。 1.创建函数 创建函数也称为定义函数,可以理解为创建一个具有某种用途的工具,使用 def 关键字实现,语法格式如下:
def functionname([parameterlist]):
['''comments''']
[functionbody]
参数说明:
- functionname:函数名称,在调用函数时使用
- parameterlist:可选参数,用于指定向函数中传递的参数。如果有多个参数,各参数间使用英文逗号分隔;如不指定,则表示该函数没有参数,在调用时,也不用指定参数。
- “commcnts””:可选参数,表示为函数指定注释,注释的内容通常是说明该函数的功能、要传递的参数的作用等,可以为用户提供友好提示和帮助的内容。
- functionbody: 可选参数,用于指定函数体,即该函数被调用后,要执行的功能代码。如果函数有返回值,可以使用 rcturn 语句返回。如果函数只有函数体,可以使用 pass 语句作为占位符
调用函数
调用函数也就是执行函数。如果把创建的函数理解为创建一个具有某种用途的工具,那么调用函数就相当于使用该工具。调用函数的语法格式如下:
functionname([parametersvalue])
参数说明: functionname:要调用的函数名称,必须是已经创建好的。 parametersvaluc: 可选参数,用于指定各个参数的值。如果需要传递多个参数值,则各参数值间使用逗号分隔:如果该函数没有参数,则不用输入。
函数参数的传递
在调用函数时,大多数情况下,主调函数和被调用函数之间有数据传递关系,这就是有参数的函数形式。函数参数的作用是传递数据给函数使用,函数利用接收的数据进行具体的操作处理。函数参数在定义函数时放在函数名称后面的一对小括号中。
def functionname(a,b,c,d):
形参与实参
在使用函数时,经常会用到形式参数(形参)和实际参数(实参),两者都叫作参数 形式参数和实际参数在作用上的区别如下:
形式参数:在定义函数时,函数名后面括号中的参数为“形式参数”,也称形参
实际参数:在调用一个函数时,函数名后面括号中的参数为“实际参数”。也就是将函数的调用者提供给函数的参敏称为实际参敏,也称实参。
根据实参的类型不同,可以分为将实参的值传递给形参,和将实参的引用传递给形参两种情况。其中,当实参为不可变对象时,进行的是值传递;当实参为可变对象时,进行的是引用传递。
实际上,值传递和引用传递的基本区别就是,进行值传递后,改变形参的值,实参的值不变:而进行引用传递后,改变形参的值,实参的值也一同改变。
位置参数
位置参数也称必备参数,必须按照正确的顺序传到函数中。即调用时的数量和位置必须和定义时的一样。
在调用函数时,指定的实参数量必须与形参数量一致,否则将抛出 TypeError 异常,提示缺少必要的位置参数。
在调用函数时,指定的实参位置必须与形参位置一致,否则将产生以下两种结果:
(1) 抛出异常。如果指定的实参与形参的位置不一致,数据类型也不一致,那么就抛出异常。
(2)不抛出异常,但是得到的结果与预期不-致。如果指定的实参与形参的位置不一致,数据类型一致,那么就不会抛出异常,但是得到的结果与预期不一致
函数返回值
可以在函数体内使用 retum 语句为函数指定返回值。该返回值可以是任意类型,并且无论 return 语句出现在函数的什么位置,只要执行,就会直接结束函数的执行。retumn 语句的语法格式如下:
result = return [value]
result:用于保存返回结果,如果返回一个值,那么result 中保存的就是返回的一个值,该值可以是任意类型。
如果返回多个值,那么result 中保存的是一个元组。
value:可选参数,用于指定要返回的值,可以返回一个值,也可以返回多个值。
局部变量
局部变量是指在函数内部定义并使用的变量,它只在函数内部有效。 即函数内部的名字只在函数运行时才会创建,在函数运行之前或之后,所有的名字都不存在。
局部变量只能在函数内部有效,在函数外部无效。如果在函数内部和外部都定义了一个同名的变量,那么它们代表了不同的变量值。 如果在函数外部没有定义变量,直接使用函数内部定义的变量,就会抛出 NameEr-ror 异常。
全局变量
在程序开发中,有时需要在函数外设定变量的初始值,然后在函数内访问、修改,这就需要定义全局变量。 我们把函数内外都可以访问的变量,叫作全局变量。
全局变量主要有以下两种情况:
(1)如果一个变量,在函数外定义,那么不仅在函数外可以访问到,在函数内也可以访问到。
(2)在函数体内使用 global 关键字定义变量为全局变量,在函数体外也可以访问该变量,并且在函数体内可以对其进行修改。
#定义为全局变量
global count
到此这篇关于关于python函数的建立、调用、传参、返回值详解的文章就介绍到这了,更多相关python函数使用详解内容请搜索aitechtogether.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持aitechtogether.com!