每天一点python——day75

#每天一点Python——75
#函数调用参数函数内存分析
'''
昨天我们学习了函数定义与创建
如图:定义一个函数模板
def 函数名(输入参数):
    函数体
    return x【可选】
'''
#今天我们来看一下创建的函数在使用是内容的变化【可变对象与不可变对象是否有影响】
#我们先定义一个函数
#为了使更方便理解,我们使用一个可变对象,不可变对象[可变对象我们使用列表,数字和字符串是不可变的对象]
def hanshu(a1,a2):
    a1=a1+100
    a2.append(10)#我们使a2为可变对象列表,append是列表增加元素操作
    print('a1',a1)
    print('a2',a2)
#为什么没有return,因为整个定义的函数执行完后没有带回来任何结果,所以return可以省略不写,或者只写return
# 【如果有疑问建议学一下c语言,更能理解】
#我们已经创建好了一个函数,为了使更方便理解,我们使用一个可变对象,不可变对象
#调用函数:
n1=11#数字为不可变对象
n2=[11,22,33]#列表
print(n1,type(n1))
print(n2,type(n2))#查看n1,n2类型
hanshu(n1,n2)#调用函数处理n1,n2【a1.a2形参,n1、n2为实参,位置相同下,可以不用相同】
'''
发现使用函数hanshu输出如下:
a1 111
a2 [11, 22, 33, 10]
'''
print(n1,n2)#再输出原n1,n2
'''
输出结果如下:
11 [11, 22, 33, 10]
发现n1数字没变
n2列表变化了
'''
#形式参数和实际参数的名称可以不相同,但是位置不能变【这个叫位置传参】
'''
综上所述:
在函数调用过程中,进行参数传递,如果是不可变对象,在函数体中的修改会不会影响原来实参值
可变对象会影响
上述:n1不可变,过了函数体,还是不变
n2是可变对象,过了函数体,发生了改变
'''

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值