【python学习】基础篇-函数建立、调用、传参、返回值、局部变量与全局变量

自定义函数
Python 还支持自定义函数,即将一段有规律的、可重复使用的代码定义成函数,从而达到一次编写多
次调用的目的。
1.创建函数
创建函数也称为定义函数,可以理解为创建一个具有某种用途的工具,使用 def 关键字实现,语法格式如下:

def functionname([parameterlist]):
	['''comments''']
	[functionbody]

参数说明:
functionname:函数名称,在调用函数时使用
parameterlist:可选参数,用于指定向函数中传递的参数。如果有多个参数,各参数间使用英文逗号分隔;如不指定,则表示该函数没有参数,在调用时,也不用指定参数。
“commcnts"”:可选参数,表示为函数指定注释,注释的内容通常是说明该函数的功能、要传递的参数的作用等,可以为用户提供友好提示和帮助的内容。
functionbody: 可选参数,用于指定函数体,即该函数被调用后,要执行的功能代码。如果函数有返回值,可以使用 rcturn 语句返回。如果函数只有函数体,可以使用 pass 语句作为占位符

2调用函数
调用函数也就是执行函数。如果把创建的函数理解为创建一个具有某种用途的工具,那么调用函数就相当于使用该工具。调用函数的语法格式如下:

functionname([parametersvalue])

参数说明:
functionname:要调用的函数名称,必须是已经创建好的。
parametersvaluc: 可选参数,用于指定各个参数的值。如果需要传递多个参数值,则各参数值间使用逗号分隔:如果该函数没有参数,则不用输入。

3.函数参数的传递
在调用函数时,大多数情况下,主调函数和被调用函数之间有数据传递关系,这就是有参数的函数形式。函数参数的作用是传递数据给函数使用,函数利用接收的数据进行具体的操作处理。函数参数在定义函数时放在函数名称后面的一对小括号中。

def functionname(a,b,c,d):

1.形参与实参
在使用函数时,经常会用到形式参数(形参)和实际参数(实参),两者都叫作参数
形式参数和实际参数在作用上的区别如下:
形式参数:在定义函数时,函数名后面括号中的参数为“形式参数”,也称形参
实际参数:在调用一个函数时,函数名后面括号中的参数为“实际参数”。也就是将函数的调用者提供给函数的参敏称为实际参敏,也称实参。
根据实参的类型不同,可以分为将实参的值传递给形参,和将实参的引用传递给形参两种情况。其中,当实参为不可变对象时,进行的是值传递;当实参为可变对象时,进行的是引用传递。
实际上,值传递和引用传递的基本区别就是,进行值传递后,改变形参的值,实参的值不变:而进行引用传递后,改变形参的值,实参的值也一同改变。
2.位置参数
位置参数也称必备参数,必须按照正确的顺序传到函数中。即调用时的数量和位置必须和定义时的一样。
在调用函数时,指定的实参数量必须与形参数量一致,否则将抛出 TypeError 异常,提示缺少必要的位置参数。
在调用函数时,指定的实参位置必须与形参位置一致,否则将产生以下两种结果:
(1) 抛出异常。如果指定的实参与形参的位置不一致,数据类型也不一致,那么就抛出异常。
(2)不抛出异常,但是得到的结果与预期不-致。如果指定的实参与形参的位置不一致,数据类型一致,那么就不会抛出异常,但是得到的结果与预期不一致

4.函数返回值
可以在函数体内使用 retum 语句为函数指定返回值。该返回值可以是任意类型,并且无论 return 语句出现在函数的什么位置,只要执行,就会直接结束函数的执行。retumn 语句的语法格式如下:

result = return [value]

result:用于保存返回结果,如果返回一个值,那么result 中保存的就是返回的一个值,该值可以是任意类型。如果返回多个值,那么result 中保存的是一个元组。
value:可选参数,用于指定要返回的值,可以返回一个值,也可以返回多个值。

5.局部变量
局部变量是指在函数内部定义并使用的变量,它只在函数内部有效。
即函数内部的名字只在函数运行时才会创建,在函数运行之前或之后,所有的名字都不存在。

局部变量只能在函数内部有效,在函数外部无效。如果在函数内部和外部都定义了一个同名的变量,那么它们代表了不同的变量值。
如果在函数外部没有定义变量,直接使用函数内部定义的变量,就会抛出 NameEr-ror 异常。

6.全局变量
在程序开发中,有时需要在函数外设定变量的初始值,然后在函数内访问、修改,这就需要定义全局变量。
我们把函数内外都可以访问的变量,叫作全局变量。全局变量主要有以下两种情况:
(1)如果一个变量,在函数外定义,那么不仅在函数外可以访问到,在函数内也可以访问到。
(2)在函数体内使用 global 关键字定义变量为全局变量,在函数体外也可以访问该变量,并且在函数体内可以对其进行修改。

#定义为全局变量
global count 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值