python基础——函数用法与底层分析

函数简介

python函数分类

在这里插入图片描述

函数定义、调用

函数形参、实参

函数也是对象

对象test01指向函数test01()的地址,对象c和test01同时指向同一个地址
在这里插入图片描述

在这里插入图片描述

参数的传递(传地址)

1、传递可变对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
过程:
1、b=[10,20]
在这里插入图片描述
2、test01(b)
(1)b传给m:b和m指向同一个对象,m是局部变量产生stackframe(调用后m自动销毁)在这里插入图片描述
3、test01(b)过后m销毁在这里插入图片描述

2、传递不可变对象

在这里插入图片描述
在这里插入图片描述

深拷贝浅拷贝

在这里插入图片描述
红色深拷贝(克隆家庭)
蓝色浅拷贝(克隆个体)
在这里插入图片描述
下面展示一些 demo

import copy
a = [10,20,[6,6]]
b = copy.copy(a)
print("a",a)
print("b",b)

b.append(30)
b[2].append(7)
print("浅拷贝:")
print("a",a)
print("b",b)
print("**********************")
c = [10,20,[6,6]]
d = copy.deepcopy(c)
print("c",c)
print("d",d)
d.append(30)
d[2].append(7)
print("深拷贝:")
print("c",c)
print("d",d)

下面展示 运行结果
在这里插入图片描述

浅拷贝解析:

1、a = [10,20,[6,6]]
在这里插入图片描述
2、b = copy.copy(a)
在这里插入图片描述
3、b.append(30)
在这里插入图片描述
4、b[2].append(7)
在这里插入图片描述

深拷贝解析(与本体无关):

1、
c = [10,20,[6,6]]
d = copy.deepcopy©
在这里插入图片描述
2、d.append(30)在这里插入图片描述
3、d[2].append(7)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值