python进阶篇:函数中的参数传递 !大佬必备!你值得拥有!

本文探讨了Python中函数参数传递的概念,包括形式参数和实际参数的区别,以及值传递和引用传递的原理。通过实例解释了如何区分形参和实参,并举例说明了不可变对象和可变对象在参数传递中的不同行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值