python进阶篇:函数中的参数传递
制作不易,还请留下你们的心心和关注!
1.1什么是参数传递
在调用函数时,大多数情况下,主调函数和被调函数之间有数据传递关系,这就是有参数的函数形式。函数参数的作用是传递数据给函数使用,函数利用接受的数据进行具体的操作处理。
1.1.1语法格式:
def functionname([parameterlist]):
['''comments''']
[functionbody]
1.1.2参数说明:(在实际写代码时,不用写“[ ]”或引号)
- functionname: 函数名称,在调用函数的时候使用。
- parameterlist:可选参数,用于指定向函数中传递的参数。如果有多个参数,各参数间使用 “,”隔开;如果不指定,则表示该函数没有参数(在调用时,也不指定参数)。
- comments:可选参数,表示为函数指定注释。
- functionbody:可选参数,用于指定函数体,即该函数被调用后,要执行的功能代码。
如果想定义一个空函数,可以用 pass 语句作为占位符(一定要占位哦,否则会报错!)
格式:
def fuc():
pass
好了,回到正题,到底什么是参数传递?
2.1了解形式参数和实际参数
在使用参数时,经常会用到形参和实参,他们的区别是:
2.1.1名称说明:
- 形式参数:在定义函数时,函数名后面括号中的参数为形式参数。
- 实际参数:在调用函数时,函数名后面括号中的参数为实际参数。
是不是还有点懵,那我再:
举个例子:
(图1)
以《我和我的祖国》演员表为例:
左边(红框框)里的角色就是形式参数,而右边(蓝框框)里的演员就是实际参数。
懂了吗?来个小测验:
2.1.2小测验:
下面的代码中,那个是形参,那个是实参呢?
#这里只是为了举例,平常不要这样写!!!
#定义函数
def i (a):
a = input('Choose a number!')
if a > 3:
print('It is smaller than 3!')
a += 1
else:
print('It is bigger than 3!')
#调用函数
i(a)
你答对了吗?
第一个a是形参,
第二个a是实参。
2.1.3值传递和引用传递:
根据实参的类型不同,可以分为将实参的值传递给形参,或将实参的引用传递给形参。
其中,当实参为不可变对象时(如字符串),传递值,而当实参为可变对象时(如列表),传递引用。
2.1.4举例说明:
#定义参数
def demo(obj):
print('原值:',obj)
obj += obj
#调用函数
print('值传递')
mot = 'anonymous'
print('调用前:',mot)
#采用不可变参数——字符串
demo(mot)
print('调用后:',mot)
print('引用传递')
list1 = ['anonymous','ANONYMOUS']
print('调用前:',list1)
#采用可变参数——列表
demo(list1)
print('调用后:',list1)
猜猜它的输出:
正确答案:
值传递
调用前:anonymous
调用后:anonymous
引用传递
调用前:['anonymous','ANONYMOUS']
调用后:['anonymous','ANONYMOUS','anonymous','ANONYMOUS']
猜对了吗?
打赏是最好的支持!
请留下你们的小心心!
关注我查看往期博客!
谢谢大家!!!
关注我哦!
这周日有粉丝特辑,关注我并回复:福利
就能获取大奖喔!!!
我们下期再见!
bye~