前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 的传参是传值还是传址?

Python 的传参是传值还是传址?

作者头像
宇宙之一粟
发布2020-10-26 10:27:00
1.7K0
发布2020-10-26 10:27:00
举报
文章被收录于专栏:宇宙之_一粟

Python对可变对象(字典或列表)传址, 对不可变对象(数字、字符或元祖)传值。

代码语言:javascript
复制
def demo_func(parm):
    """输出整数或者列表改变后的值
    
    :param parm: 整数或者列表
    :return: 
    """
    if isinstance(parm, int):
        parm += 1
    elif isinstance(parm, list):
        parm.append(1)
    print(parm)


if __name__ == '__main__':
    # 定义整数类型
    int_parm = 1
    # 函数内整数值修改(不可变类型不能修改值,其实这里是变量另外赋值)
    demo_func(int_parm)   # 输出为2
    # 输出整数值,查看对象的值是否被修改
    print(int_parm)       # 输出为1,值未改变,说明传值
    # 定义列表类型
    list_patm = [1,2,3]
    # 函数修改列表
    demo_func(list_patm)   # 输出[1, 2, 3, 1]
    # 查看函数外部列表是否发生改变
    print(list_patm)       # 输出[1, 2, 3, 1],列表发生改变,说明传址
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档