当前位置:   article > 正文

python - 函数传参的几种方式_怎么让python里面的函数只传形参

怎么让python里面的函数只传形参

1.位置传参

        实参与形参的位置数量一致

  1. def foo(a,b): #形参
  2. print(a)
  3. if __name__ == '__main__':
  4. foo(1,2) #实参

2.关键字传参

        关键字传参是指使用形参的名字来确定输入的参数。通过该方式指定实参时,不需要与形参位置一致,只要参数名称写正确即可

  1. def foo(a,b):
  2. print(f"a是{a},b是{b}")
  3. if __name__ == '__main__':
  4. foo(b=1,a=2)
  5. #结果
  6. a是2,b是1

3.默认传参

        调用函数时,如果没有指定某个参数将抛出异常,即在定义函数时,直接指定形式参数的默认值。这样,当没有传入参数时,则直接使用定义函数时设置的默认值。语法格式如下:

  1. def foo(a,b,c="我是默认参数"):
  2. print(f"a是:{a},b是:{b},c是:{c}")
  3. if __name__ == '__main__':
  4. foo(b=1,a=2)

4.可变参数传参(*args,**kwargs)--也可以叫不定长参数

        1.*args可以接收任意长度的位置参数

        2.**kwargs可以接收任意长度的关键字参数

        3.*args和**kwargs同事使用时,*args(位置参数)在前,**kwargs(关键字)参数在后。

         一、形参为可变参数

  1. def foo(*args, **kwargs):
  2. print("Positional arguments:")
  3. print(type(args))
  4. for arg in args:
  5. print(arg)
  6. print("\nKeyword arguments:")
  7. print(type(kwargs))
  8. for key, value in kwargs.items():
  9. print(key + ": " + str(value))
  10. if __name__ == '__main__':
  11. a = foo(1,2,3,4,5,name = "tom",age = 18)
  12. help(foo())

        二、实参为可变参数

  

  1. def foo(a,b,name,age):
  2. print(a,b,name,age)
  3. if __name__ == '__main__':
  4. a = [1,2]
  5. b = {"name":"tom","age":18}
  6. c = foo(*a,**b)
  7. #结果
  8. 1 2 tom 18

        

        三、实参和形参都为可变参数

  1. def foo(*args, **kwargs):
  2. print("Positional arguments:")
  3. print(type(args))
  4. for arg in args:
  5. print(arg)
  6. print("\nKeyword arguments:")
  7. print(type(kwargs))
  8. for key, value in kwargs.items():
  9. print(key + ": " + str(value))
  10. if __name__ == '__main__':
  11. a = [1,2,3,4,5]
  12. b = {"name":"tom","age":18}
  13. a = foo(*a,**b)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/811490
推荐阅读
相关标签
  

闽ICP备14008679号