zoukankan      html  css  js  c++  java
  • Python之函数(二)函数的动态参数

    函数的动态参数

    1. 动态位置参数(*args 备注 args可以随意改,不是固定的)

      def func(a,b,*args):# *args是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合
          print(a,b,args)# args接受 多个参数存储类型为元组
      func(1,2,3,4,5)
      #结果为: 1 2 (3,4,5)
      
      def func(a,b,*args):#*args是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合
      	print(a,b,args)
      func(1,2,3)
      #结果为: 1 2 (3,)
      
      def func(a,b,*args):#*args是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合
          print(a,b,*args)# * 打散
      func(1,2,3,4)
      #结果为 1 2 3 4
      
      #优先级: 位置参数 >动态位置参数 > 默认参数
      
      def func(a,b,*args,c=1,d=2):
          print(a,b,c,d,*args)
      func(1,2,3,4,c=4)#如果要修改默认参数 必须参数名一致 否则改不了 默认参数的值
      #结果为1 2 4 2 3 4
      
    2. 动态关键参数(**kwargs 备注kwargs可随意修改 遵循变量命名)

      def func(a,b,**kwargs):# **kwargs是万能(接受任意多个)关键字参数 
          print(a,b,kwargs)
      func(1,2,c=1,d=2)# kwargs 格式要遵循a=1 实参不能跟 位置形参 名一致 否则冲突
      结果为:1 2 {"c":1,"d":2}
      
      def func(a,b,*args,c=1,d=2,**kwargs):
          print(a,b,*args,c,d,*kwargs)# *kwargs --获取到字典的键
      func(1,2,3,4,c=8,d=10,e="alex",f="wusir")
      #结果为:1 2 3 4 8 10 e f
      
      
    3. 总结

      def func(*args,**kwargs):
      	print(*args,*kwargs)
      a=[1,2,3,4,5,6]
      b={"1":2,"3":4}
      func(*a,**b)
      #结果为:1 2 3 4 5 1 3
      #列表 和字典 作为实参遍历 
      
      #我们可以用这种形式 *a 等价于遍历 分别传参给*args
      # **b等价于 "1":2,"3":4 
      
      
      #参数的优先级:位置参数>动态位置参数>默认参数(关键字参数)>动态关键字参数
      #1、万能传参:动态位置参数--动态关键字参数(最常用***)
      #2、位置参数--动态位置参数
      #3、动态位置参数--关键字参数--动态关键字参数
      
  • 相关阅读:
    ie8 不能加载dll的问题解决
    Delphi 释放数组中的数据
    CSS: 首字母字体变大时下划线不对齐的解决方法
    谈谈一些有趣的CSS题目(十三)-- 巧妙地制作背景色渐变动画!
    吃透css3之3d属性--perspective和transform
    vue-cli中的webpack配置
    转载 webstrom识别 React语法
    CSS 布局整理(************************************************)
    巧用chrome开发者工具
    详解Webpack2的那些路径
  • 原文地址:https://www.cnblogs.com/zhangdadayou/p/11415081.html
Copyright © 2011-2022 走看看