zoukankan      html  css  js  c++  java
  • 函数中的动态参数

    所谓的动态参数就是在写函数时,你可以传递1个参数,2个参数,3个参数甚至更多,同时也可以忽略它。

    动态参数:一般有两种表示方法: *args 和**kwargs ,它的区别不是在于 args 和kwargs 这里可以替换成任意字母,这里最主要的区别是* 和**

    动态参数跟默认参数一样,要写在位置参数的后面

    def func(name,age,sex,class="1001",*args,**kwargs):
    pass

    *args 和**kwargs 的区别:

    • *args:1个* 表示接收的任意参数,调用的时候,会将实际参数一以元组的形式传给形式参数。如果参数是一个列表,将会把整个列表当做一个参数传递

    例如:

    def func(*args):
        print(args)
    
    func("a","b","c")
    func(["1","2","3"])
    结果:
    ('a', 'b', 'c') (['1', '2', '3'],)
    • 如上列表的结果,我的本意是想把列表中的数字分别输出,但是这里却是以一个参数的形式输出。如果需要把列表中的数字分别输出就要在前面加个*,这里可以理解为给列表脱外套
    def func(*args):
        for arg in args:
            print(arg)
    
    list_1 = ["a","b","c"]
    func(*list_1)
    • **kwargs:2个**表示接收的是任意键值对的关键字参数,这里调用的时候是以字典的形式传递给形式参数

    例如:

    def stu_info(**kwargs):
        print(kwargs)
    
    stu_info(name="lily",age=18,sex="famle")
    结果:
    {'name': 'lily', 'age': 18, 'sex': 'famle'}
  • 相关阅读:
    提权函数之RtlAdjustPrivilege()
    用C#写外挂或辅助工具必须要的WindowsAPI
    ASP.net中保持页面中滚动条状态
    asp.net窗体的打开和关闭
    界面原型设计工具 Balsamiq Mockups
    在List(T)中查找数据的两种方法
    P2158 [SDOI2008]仪仗队 题解
    P1531 I Hate It 题解
    C#
    破解网站防盗链
  • 原文地址:https://www.cnblogs.com/xiaohanzi/p/10081837.html
Copyright © 2011-2022 走看看