python中数据如何传递

本文介绍了Python中的数据传递方式,包括简单的赋值表达式,函数中数据的引用传递以及函数返回值的处理。通过示例说明了变量如何存储数据的内存地址,并解释了在函数调用中实际传递的是数据的内存引用。

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

今天刚刚学,我大概是这样子理解的

1. 简单的赋值表达式

首先来看这个表达式

a=1 
print("a 变量保存数据的内存地址是 %d" % id(a))
print("数据 1 的内存地址是 %d" % id(1))
b=a
print("b 变量保存数据的内存地址是 %d" % id(b))

运行结果

a 变量保存数据的内存地址是 140706720674064
数据 1 的内存地址是 140706720674064
b 变量保存数据的内存地址是 140706720674064

注意:不同电脑上运行结果的地址可能不一样,但这三行的数字一定会是一样的

将数据1赋给变量a,变量a相当于便利贴,一个数据可以贴很多便利贴,即数据可以赋值给多个变量

对于 “b = a ” ,可以理解为,把数据 1 的内存地址给了变量b。
使用变量b时,实际上是通过内存地址找到了 数据 1 ,并使用他

2.函数中数据的传递

def test(num):
    print("在函数内部 %d 对应的内存地址是 %d" % (num,id(num)))

#1.定义一个数字的变量
a=100

# 数据的地址本质上就是一个数字
print("a 变量保存数据的内存地址是 %d" % id(a))

# 2.调用 test 函数  
test(a)

调用函数,本质上传递的是实参保存数据的引用[即在内存中的地址],而不是实参保存的数据

运行结果:

a 变量保存数据的内存地址是 140706720677232
在函数内部 100 对应的内存地址是 140706720677232

3.函数中返回数据的传递

def test(num):
    print("在函数内部 %d 对应的内存地址是 %d" % (num,id(num)))

    # 1.定义一个字符串变量
    result = "hello"
    print("函数要返回数据的内存地址是 %d " % id(result))

    # 2.将字符串变量返回,返回的是数据的引用,而不是数据本身
    return result

#1.定义一个数字的变量
a=10

r = test(a)
print("%s 的内存地址是 %d" % (r,id(r)))

注意:如果函数有返回值,但是没有定义变量接收
程序不会报错,但是无法获得返回结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值