广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中函数的参数类型详解
  • 537
分享到

Python中函数的参数类型详解

2024-04-02 19:04:59 537人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录1、python的函数参数的类型2、Python的必传参数3、关键字参数4、默认参数5、不定长参数1、Python的函数参数的类型 必传参数:调用函数时必须传入的参数,函数定义时

1、Python的函数参数的类型

  • 必传参数:调用函数时必须传入的参数,函数定义时只定义参数名
  • 关键字参数:传入时以函数的参数名值对的方式传入
  • 默认参数:函数定义时为参数默认设置一个值,调用时不传输参数即以默认值处理
  • 不定长参数:以*修饰或者**修饰的参数;*修饰的参数是一个元组(tuple),**修饰的参数必须是字典(dict),通常写作*args或者**args

2、Python的必传参数

  • 传入的参数个数必须与形参的数量一致
# coding:utf-8
# Author:YangXiaopeng
def demo01(a,b):
print(a, type(a))
print(b, type(b))
# demo01(1) #TypeError missing 1 required positional argument: 'b' 缺少一个未知的参数,demo01必须传2个参数
# demo01(1, 2, 3) #TypeError demo01() takes 2 positional arguments but 3 were given, demo01函数有2个位置参数,但是接收到了3个;
# 必传参数 : 调用函数时必须传入的参数,函数定义时只定义参数名
# 传入的参数个数必须与形参的数量一致
demo01(1, 2) # yes
demo01(1, [1, 2]) # yes
demo01([2, 3], (1, 2)) # yes
demo01(1, {2, 3, 4}) # yes
demo01(2, {"code":'1001', "name":"zhang", "age":18}) # yes

3、关键字参数

  • 以参数名和参数值的关联在一起的方式进行传参,键值对的模式,参数名为键。
# coding:utf-8
# Author:YangXiaoPeng
def demo01(a,b):
print(a, type(a), end="__")
print(b, type(b))
# 第一个关键字出入的参数位置之前的参数比逊选择关键字传参;如下面的示例中,第一个关键字传参的变量是a,a在函数定义的第二个位置,那么第二个位置之前的参数都必须以关键字传参的形式传参。
# demo01(1, a=2) # demo01() Got multiple values for argument 'a'
demo01(a=1, b=2) # yes
demo01(1, b=2) # yes
demo01(b=1, a=2) # yes
demo01(b=1, a=[1, 2]) # yes
demo01(b=[2, 3], a=(1, 2)) # yes
demo01(b=1, a={2, 3, 4}) # yes
demo01(b=2, a={"code":'1001', "name":"zhang", "age":18}) # yes

4、默认参数

  • 调用函数时不传入参数an默认值处理,传入时按传入的参数值处理
# coding:utf-8
# Author:YangXiaoPeng
## 默认参数
def demo02(City = "LongNan"):
print("City是默认参数,默认值是:中国,当前值是:", City)
# 不传入参数
demo02()
# 传入参数
demo02("Beijing")

5、不定长参数

  • 传入的参数会生成一个元组类型的变量供函数内部使用
# coding:utf-8
# Author:YangXiaoPeng
## 不定长参数
def demo03(*args):
print(args,type(args))
# 传入的参数会生成一个元组类型的变量供函数内部使用
demo03(1)
demo03("code")
demo03(1,"code")

  • 传入的参数不能少于必传参数的个数
  • *args 后面的形参,必须以关键字参数进行传参
# coding:utf-8
# Author:YangXiaoPeng
# *args 后面的形参,必须以关键字参数进行传参,
def demo04(a, b, *args,c):
print("a传入的参数值是:{},b传入的参数值是:{}, args传入的参数是:{}, c出入的参数是:{}".fORMat(a, b, args,c))
# 传入的参数不能少于必传参数的个数,a,b,c三个为必传参数
# demo04(1, 2) # TypeError
# demo04(1, 2, 3) # TypeError
demo04(1, 2, c=3)

  • *args 之前的参数只能按位置传参,不可以关键字传参
  • 传入的参数个数比必传参数多时,首先给必传参数按位置赋值,然后将剩余的参数生成一个元组传递给args

  • **修饰的参数必须以关键字的参数方式传参,Python解释器会将传入的关键字和关键字的值生成一个字典供函数内部使用
# coding:utf-8
# Author:YangXiaoPeng
def demo05(**kwargs):
print("kwargs传入的参数是:{}".format(kwargs),type(kwargs))
kwargs = {"code":'1002', "name":"zhang"}
# demo05(kwargs) # TypeError
# **修饰的参数必须以关键字的参数方式传参,Python解释器会将传入的关键字和关键字的值生成一个字典供函数内部使用
demo05(**kwargs) # kwargs传入的参数是:{'code': '1002', 'name': 'zhang'} <class 'dict'>
demo05(code='1002',name="zhang") # kwargs传入的参数是:{'code': '1002', 'name': 'zhang'} <class 'dict'>

  • **修饰的参数必须是最后一个
# coding:utf-8
# Author:YangXiaoPeng
# **修饰的参数必须是最后一个
"""
# SyntaxError: invalid syntax
def demo06(a, b, *args, c, **kwargs, d):
pass
"""
def demo06(a, b, *args, c, **kwargs):
print("a传入的参数值是:{},b传入的参数值是:{}, args传入的参数是:{}".format(a, b, args),end='')
print(",c传入的参数是:{},kwargs传入的参数是:{}".format(c,kwargs))
demo06(1, 2, 3, 4, 5, c=3, code='1002', name="zhang", d=3)

到此这篇关于Python中函数的参数类型详解的文章就介绍到这了,更多相关Python函数参数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python中函数的参数类型详解

本文链接: https://www.lsjlt.com/news/119288.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中函数的参数类型详解
    目录1、Python的函数参数的类型2、Python的必传参数3、关键字参数4、默认参数5、不定长参数1、Python的函数参数的类型 必传参数:调用函数时必须传入的参数,函数定义时...
    99+
    2022-11-11
  • Python中的函数参数类型检查
    目录Python函数参数类型检查下面我们用装饰器来实现总结Python函数参数类型检查 有一个很经典的笑话: 三个月之前,只有我和上帝知道这代码是干什么的。 现在,只有上帝知道了。 ...
    99+
    2022-12-19
    Python函数 函数参数类型检查 Python函数参数
  • python中函数的参数详解
    目录一、参数的定义1、函数的参数在哪里定义2、带参数的函数调用:二、参数分类1、根据实参进行分类1.1、位置参数(未命名参数)1.2、关键字参数(命名参数)2、根据形参进行分类2.1...
    99+
    2022-11-11
  • python函数的默认参数请勿定义可变类型详解
    目录函数的默认参数请勿定义可变类型可变类型和不可变类型定义可变类型会有什么问题?导致的原因解决方法关于可变类型作为默认参数时的注意点测试:将可变类型列表换为字典测试:来个不可变类型字...
    99+
    2022-11-13
  • Python中函数的参数类型实例分析
    今天小编给大家分享一下Python中函数的参数类型实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、Python的函...
    99+
    2023-07-02
  • python中函数传参详解
    一、参数传入规则 可变参数允许传入0个或任意个参数,在函数调用时自动组装成一个tuple; 关键字参数允许传入0个或任意个参数,在函数调用时自动组装成一个dict; 1. 传入可变参数: def ca...
    99+
    2022-06-04
    详解 函数 python
  • Python 类,对象,数据分类,函数参数传递详解
    目录1、基本概念1.1 类与对象的关系1.3 对象的创建与引用  2、数据的分类  2.1 不可变类型  2.2 可变类型  3、函数传递参数的方式3.1 值传递  3.2 引用传递...
    99+
    2022-11-12
  • 详解Python函数中的几种参数
    目录1.必需的参数:2关键字参数:3.缺省参数(默认参数):4.不定长参数5.高阶函数总结 1.必需的参数: 必须参数须以正确的顺序传入函数,调用的数量必须和声明时的一样 def...
    99+
    2022-11-12
  • 总结Python函数参数的六种类型
    目录一、函数的单参数传递二、多参数传递三、关键字参数四、缺省参数五、不定长参数 - 元组六、不定长参数 - 字典前言: Python函数之所以很好用,还有一点就的能传递参数实现不同场...
    99+
    2022-11-13
  • Python---限定函数参数的类型及默
    python作为一门动态语言,在使用变量之前是不需要进行定义,而是通过动态绑定的方法将变量绑定为某种类型。这样做为我们使用变量时提供了方便,但有时也给我们使用变量时造成了一定的困扰,例如在使用变量时不知道变量的类型,使用函数时不知...
    99+
    2023-01-31
    函数 参数 类型
  • python函数参数类型及其顺序
    根据inspect模块官文文档中关于函数参数类型的相关说明,python函数参数共有五种类型,按顺序分别为:POSITIONAL_ONLY、POSITIONAL_OR_KEYWORD、VAR_POSITIONAL、KEYWORD_ONLY...
    99+
    2023-01-30
    函数 顺序 参数
  • python中函数的返回值及类型详解
    目录1.返回值介绍2.带有返回值的函数3.保存函数的返回值4.四种函数的类型1.无参数,无返回值的函数2.无参数,有返回值的函数3.有参数,无返回值的函数4.有参数,有返回值的函数5...
    99+
    2023-05-14
    python函数返回值 python 返回值类型
  • 详解python函数传参传递dict/list/set等类型的问题
    传参时传递可变对象,实际上传的是指向内存地址的指针/引用 这个标题是我的结论,也是我在做项目过程查到的。学过C的都知道,函数传参可以传值,也可以传指针。指针的好处此处不再赘述。 先...
    99+
    2022-11-12
  • python函数的5种参数详解
    (1) 位置参数,调用函数时按位置传入参数 (2) 默认参数,即在函数定义时就给出参数的值,设置默认参数时要注意两点,一是必选参数在前,默认参数在后。二是把变化小的参数放在后面可作为...
    99+
    2022-06-04
    详解 函数 参数
  • python函数怎么接收不同类型的参数
    本文小编为大家详细介绍“python函数怎么接收不同类型的参数”,内容详细,步骤清晰,细节处理妥当,希望这篇“python函数怎么接收不同类型的参数”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。说明在定义函数时,...
    99+
    2023-06-30
  • Python中scatter函数参数及用法详解
    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1、scatter函数原型 2、其中散点的形状参数marker如下: 3、其中颜色参数c如下...
    99+
    2022-06-04
    详解 函数 参数
  • python open函数中newline参数实例详解
    目录问题的由来具体实例总结问题的由来 我在读pythoncsv模块文档 看到了这样一句话 如果 csvfile 是文件对象,则打开它时应使用 newline=‘&rsqu...
    99+
    2022-11-11
  • python如何设定函数传参类型
    在python中设定函数传参类型的方法关键字参数关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。def fun(name, age):print(name + '今年{}了'.format(age))fun(age=...
    99+
    2022-10-08
  • 详解C++函数类型与重载函数
    目录1.首先对重载函数,明确函数的返回类型不能决定重载函数的类别,即2.注意形参列表中的默认值,使用含默认参数的重载函数时可能会产生二义性。例:问题:总结 1.首先对重载函数,明确函...
    99+
    2022-11-12
  • OpenCV中findContours函数参数详解
    注: 这篇文章用的OpenCV版本是2.4.10, 3以上的OpenCV版本相关函数可能有改动 Opencv中通过使用findContours函数,简单几个的步骤就可以检测出物体的轮...
    99+
    2022-11-13
    OpenCV findContours函数 OpenCV findContours
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作