Python函数参数全攻略

 更新时间:2025年11月29日 10:01:57   作者:布玛&  
文章介绍了Python函数参数的六种类型:普通参数、可变位置参数、可变关键字参数、混合使用所有参数类型、参数解包以及参数顺序规则,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

1.普通参数 (没有星号)

2.可变位置参数 (*args)

使用单个星号 *,将多个位置参数打包成元组

def func(*nums):
    print(f"nums: {nums}, type: {type(nums)}")
func(1, 2, 3)          # nums: (1, 2, 3), type: <class 'tuple'>
func('a', 'b')         # nums: ('a', 'b'), type: <class 'tuple'>
func()                 # nums: (), type: <class 'tuple'>
python
def calculate_sum(*numbers):
    return sum(numbers)
print(calculate_sum(1, 2, 3))        # 6
print(calculate_sum(10, 20, 30, 40)) # 100

**3.可变关键字参数 (kwargs)

使用两个星号 **,将多个关键字参数打包成字典

def func(**nums):
    print(f"nums: {nums}, type: {type(nums)}")
func(a=1, b=2, c=3)    # nums: {'a': 1, 'b': 2, 'c': 3}, type: <class 'dict'>
func(name="Alice")     # nums: {'name': 'Alice'}, type: <class 'dict'>
func()                 # nums: {}, type: <class 'dict'>
def create_user(**user_info):
    user = {
        'name': 'Unknown',
        'age': 0,
        'email': ''
    }
    user.update(user_info)  # 用传入的参数更新默认值
    return user
user1 = create_user(name="Alice", age=25)
user2 = create_user(name="Bob", email="bob@example.com")

4.混合使用所有参数类型

def complex_func(required, *args, **kwargs):
    print(f"必需参数: {required}")
    print(f"可变位置参数: {args}")
    print(f"可变关键字参数: {kwargs}")
complex_func("hello", 1, 2, 3, name="Alice", age=25)
# 输出:
# 必需参数: hello
# 可变位置参数: (1, 2, 3)
# 可变关键字参数: {'name': 'Alice', 'age': 25}

5.参数解包

def func(a, b, c):
    print(f"a={a}, b={b}, c={c}")
# 参数解包
numbers = [1, 2, 3]
func(*numbers)  # 相当于 func(1, 2, 3)
params = {'a': 10, 'b': 20, 'c': 30}
func(**params)  # 相当于 func(a=10, b=20, c=30)
def student_info(name, age, *scores, **additional_info):
    print(f"学生: {name}, 年龄: {age}")
    print(f"成绩: {scores}")
    print(f"附加信息: {additional_info}")
# 使用示例
student_info("张三", 20, 85, 90, 78, city="北京", hobby="篮球")
# 输出:
# 学生: 张三, 年龄: 20
# 成绩: (85, 90, 78)
# 附加信息: {'city': '北京', 'hobby': '篮球'}

6.参数顺序规则:

在函数定义中,参数必须按以下顺序排列:
普通参数
*args 参数
**kwargs 参数

# 这是错误的!
# def wrong_order(**kwargs, *args, a, b):
#     pass

到此这篇关于Python函数参数全攻略的文章就介绍到这了,更多相关Python函数参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 最新python正则表达式(re模块)详解

    最新python正则表达式(re模块)详解

    在Python中需要通过正则表达式对字符串进⾏匹配的时候,可以使⽤⼀个python自带的模块,名字为re,这篇文章主要介绍了python正则表达式(re模块)详解,需要的朋友可以参考下
    2023-01-01
  • Python实现批量下载图片的方法

    Python实现批量下载图片的方法

    这篇文章主要介绍了Python实现批量下载图片的方法,涉及Python基于urllib、urllib2及re等模块获取URL及正则匹配下载图片的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 2023年最新版Python 3.12.0安装使用指南(推荐!)

    2023年最新版Python 3.12.0安装使用指南(推荐!)

    这篇文章主要给大家介绍了关于2023年最新版Python 3.12.0安装使用的相关资料,Python 现在是非常流行的编程语言,当然并不是说Python语言性能多么强大,而是Python使用非常方便,特别是现在AI和大数据非常流行,用 Python 实现是非常容易的,需要的朋友可以参考下
    2023-10-10
  • Python超参数优化的实战方法

    Python超参数优化的实战方法

    在机器学习模型开发中,超参数优化是提升模型性能的关键环节,本文聚焦Python超参数优化的实战方法,结合最新工具案例,揭示如何通过科学调参实现模型性能跃升,需要的朋友可以参考下
    2025-12-12
  • Python 字符串定义

    Python 字符串定义

    字符串是程序中最常见的数据类型。在Python中,可以使用三种方式定义字符串。单引号、双引号和三引号。
    2009-09-09
  • Python GUI利用tkinter皮肤ttkbootstrap实现好看的窗口

    Python GUI利用tkinter皮肤ttkbootstrap实现好看的窗口

    这篇文章主要介绍了Python GUI利用tkinter皮肤ttkbootstrap实现好看的窗口,文章基于python的相关资料展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-06-06
  • Python随手笔记第一篇(2)之初识列表和元组

    Python随手笔记第一篇(2)之初识列表和元组

    Python中,列表和元组是一种数据结构:序列,序列中的每个元素都被分配一个序号,元素的位置,第一原元素的位置为0,因此类推,序列是最基本的数据结构,本文给大家分享Python随手笔记第一篇(2)之初识列表和元组,感兴趣的朋友一起学习吧
    2016-01-01
  • Python实现屏幕录制功能的代码

    Python实现屏幕录制功能的代码

    这篇文章主要介绍了Python实现屏幕录制功能,本文给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Python实现比较扑克牌大小程序代码示例

    Python实现比较扑克牌大小程序代码示例

    这篇文章主要介绍了Python实现比较扑克牌大小程序代码示例,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12
  • Python Gitlab Api 使用方法

    Python Gitlab Api 使用方法

    今天小编就为大家分享一篇Python Gitlab Api 使用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08

最新评论