千家信息网

Python中函数参数如何传递

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了Python中函数参数如何传递,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。函数参数如何传递key-value方式传
千家信息网最后更新 2026年11月03日Python中函数参数如何传递

这篇文章主要介绍了Python中函数参数如何传递,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    函数参数如何传递

    key-value方式传递参数:

    下面是非常常见的传递方式,参数名写直白,写死了:

    def show_info(name, title):    print("姓名为:",name)    print("职称为:",title)

    我们在使用的时候可以用以下的方式:

    show_info('雷学委', '大学生Python学习社区长')show_info(name='雷学委', title='持续学习协会会长')

    可以写成这样,使用两个*,这样非常灵活,但是缺点也是明显的(结构灵活有时候需要判断是否漏传,直接取容易出错)

    def show_info_v2(**kv_dict):    print("姓名为:", kv_dict['name'])    print("职称为:", kv_dict['title'])show_info_v2(name='雷学委', title='大学生Python学习社区长')

    下面是效果,看起来一样的。

    动态长度参数传递

    通常使用*加参数名。

    #!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/10/24 11:39 下午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷学委# @XueWeiTag: CodingDemo# @File : func_call.py# @Project : hellodef show_info(name, title):    print("姓名为:", name)    print("职称为:", title)show_info('雷学委', '大学生Python学习社区区长')show_info(name='雷学委', title='持续学习协会会长')def show_info_v2(name, title, *info):    print("姓名为:", name)    print("职称为:", title)    print("其他评价:", info)show_info_v2('雷学委', '大学生Python学习社区区长', "热爱技术", "热爱生活")

    运行效果如下:

    参数是否会被函数攥改?

    我们看看下面的程序即可:

    #!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/10/24 11:39 下午# @Author : LeiXueWei# @CSDN/Juejin/Wechat: 雷学委# @XueWeiTag: CodingDemo# @File : func_call.py# @Project : hellodef compute_v1(list):    sum = 0    for x in list:        sum += x    list = list + [sum]    print("新地址:", id(list))    return sumdef compute_v2(list):    sum = 0    for x in list:        sum += x    list[0] = list[0] * 100    return sum_list = [1, 2, 3, 4, 5]print("调用计算函数v1之前:", _list)print("调用计算函数v1之前内存地址:", id(_list))print(compute_v1(_list))print("调用计算函数v1之后:", _list)print("调用计算函数v1之后内存地址:", id(_list))_list = [1, 2, 3, 4, 5]print("调用计算函数v2之前:", _list)print("调用计算函数v2之前内存地址:", id(_list))print(compute_v2(_list))print("调用计算函数v2之后:", _list)print("调用计算函数v2之后内存地址:", id(_list))

    这里两个compute函数,一个修改参数引用地址,一个并没有修改参数引用而是修改了引用内存空间的关联地址(一个变量)的值。

    可以说它们都成功了。但是外面的_list 的地址是任何时候都不会被修改的,除非赋值新地址(也就是在调用v2之前重新复制那次)

    下面是运行结果:

    感谢你能够认真阅读完这篇文章,希望小编分享的"Python中函数参数如何传递"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

    函数 参数 地址 学习 内存 大学 大学生 社区 篇文章 方式 两个 会长 区长 协会 效果 时候 utf-8 运行 明显 直白 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南云网互联网络科技有限公司 互联网科技公司起名 互联网和科技技术 互联网科技有限公司经营范围 平安科技 互联网 善班互联网科技有限公司 富国互联网科技创新基金 青岛中康互联网医疗科技有限公司 中国的互联网科技企业的崛起 互联网科技与大数据专业 消费医药和互联网科技 银川新华互联网科技学校联系电话 高科技互联网发展前景如何 山东大美朱楼互联网科技有限公司 神州科技互联网有限公司 艺电能源互联网科技有限公司招聘 众联互联网络科技 互联网科技大会大佬 现代科技的标志之一的互联网 互联网 科技节活动 微视频大赛 智能科技公司是互联网公司吗 腾讯阿里互联网科技 天扬科技互联网广告 安控科技rtu产品工业互联网 互联网实体化科技化 恒银科技与互联网金融 重庆互联网医院沙龙医盟信息科技 宜昌元轩互联网科技有限公司 中国科技创新与世界互联网大会 小牛互联网科技有限公司地址
    0