zoukankan      html  css  js  c++  java
  • Python之路【第三篇】:Python基础(17)——函数动态参数

    #动态参数:** 2星默认将传入的参数,全部放置在字典中f1(**{"kl":"v1", "k2":"v2"})
    #带2星的用来处理那些带有键值对的值,即一个key一个value的值

    # 示例
    # def func(**kwargs):
    # print(kwargs,type(kwargs))
    # # 执行方式一
    # func(name='wupeiqi',age=18)
    # # 执行方式二
    # li = {'name':'wupeiqi', 'age':18, 'gender':'male'}
    # func(**li)
    # # 输出
    # # {'age': 18, 'name': 'wupeiqi'} <class 'dict'>
    # # {'age': 18, 'gender': 'male', 'name': 'wupeiqi'} <class 'dict'>

    # # 练习1
    # def f1(**args): #两星 的类型是一个字典,字典的一个元素是键值对key-value,必须用指定参数来传值。
    # print(args,type(args))

    # f1("hello") #两星的情况下,传递一个参数会报错。
    # 输出报错:
    '''
    Traceback (most recent call last):
    File "C:/Users/Jam/PycharmProjects/s13/d3v1/12_函数8_动态参数_2星是字典.py", line 11, in <module>
    f1("hello") #
    TypeError: f1() takes 0 positional arguments but 1 was given
    '''

    # # 练习2
    # def f1(**args): #
    # print(args,type(args))
    # f1(n1="hello") #这相当于一个指定参数,作为字典的一个键值对,把n1当做key,把"hello"作为value
    # 输出
    # {'n1': 'hello'} <class 'dict'>

    # # 练习3
    # def f1(**args): #
    # print(args,type(args))
    # f1(n1="hello",n2=18) #作为字典的两个键值对,n1是key,n2是key
    # 输出
    # {'n2': 18, 'n1': 'hello'} <class 'dict'>

    # # 练习3
    # def f1(**args): #
    # print(args,type(args))
    # dic = {'k1':'v1','k2':'v2'}
    # f1(kk=dic) #kk当做一个key,字典dic当做一个value
    # 输出
    # {'kk': {'k2': 'v2', 'k1': 'v1'}} <class 'dict'>

    # # 练习4 注:如果形式参数有2星,实际参数也有2星的情况,相当于是直接赋值,dic是什么值args就是什么值。
    # def f1(**args): #
    # print(args,type(args))
    # dic = {'k1':'v1','k2':'v2'}
    # f1(**dic) #实际参数有2星
    #
    # # # 输出
    # # # {'k1': 'v1', 'k2': 'v2'} <class 'dict'>
  • 相关阅读:
    一:理解ASP.NET的运行机制(例:通过HttpModule来计算页面执行时间)
    解决Silverlight F5刷新问题
    C# 将 HTML 转换为图片或 PDF
    C# 使用 Windows API 发送文件到打印机
    C# 各种导入 Excel 文件的数据的方法总结
    C# 使用 SqlBulkCopy 类批量复制数据到数据库
    C# 导出 Excel 的各种方法总结
    C# 使用windows服务发送邮件
    C# 创建、部署和调用WebService的简单示例
    SQL Server 常用函数使用方法(持续更新)
  • 原文地址:https://www.cnblogs.com/jiangnanmu/p/5536698.html
Copyright © 2011-2022 走看看