Python的函数参数类型有哪些,必传参数是什么
Admin 2022-07-25 群英技术资讯 1190 次浏览
这篇文章主要讲解了“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

# 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

# coding:utf-8
# Author:YangXiaoPeng
## 默认参数
def demo02(City = "LongNan"):
print("City是默认参数,默认值是:中国,当前值是:", City)
# 不传入参数
demo02()
# 传入参数
demo02("Beijing")

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

# 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)


# 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)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Python查询oracle数据库速度慢的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这篇文章主要为大家介绍了Python变量的作用域,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
这篇文章主要介绍了在Python中如何让字典保持有序,文章基于python的相关资料展开详细内容,需要的小伙伴可以参考一下
大家还记不记得曾经印在我们的铅笔盒的九九乘法表?我们从小就开始学习背诵九九乘法表,经常被家长和数学老师检查背诵。九九乘法表我们进行计算的前提,没了九九乘法表,我们就难以计算。小编之前向大家介绍过用while循环打印九九乘法表,那大家知不知道如何用for循环打印九九乘法表呢?今天,小编就向大家介绍如何打印九九乘法表。
这篇文章主要介绍了源码解析python中randint函数的效率缺陷,通过讨论 random 模块的实现,并讨论了一些更为快速的生成伪随机整数的替代方法展开主题,需要的盆友可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008