python 传递参数 python中函数传参的几种实现方式 python的函数

python 传递参数 python中函数传参的几种实现方式 python的函数

目录
  • 1.位置传参
  • 2.关键字传参
  • 3.默认传参
  • 4.可变参数传参(*args,kwargs)
  • 拓展资料

1.位置传参

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

def foo(a,b): 形参 print(a)if __name__ == ‘__main__’: foo(1,2) 实参

2.关键字传参

关键字传参是指使用形参的名字来确定输入的参数。

通过该方式指定实参时,不需要与形参位置一致,只要参数名称写正确即可

def foo(a,b): print(f”a是a},b是b}”)if __name__ == ‘__main__’: foo(b=1,a=2)结局a是2,b是1

3.默认传参

调用函数时,如果没有指定某个参数将抛出异常,即在定义函数时,直接指定形式参数的默认值。

这样,当没有传入参数时,则直接使用定义函数时设置的默认值。

语法格式如下:

def foo(a,b,c=”我是默认参数”): print(f”a是:a},b是:b},c是:c}”)if __name__ == ‘__main__’: foo(b=1,a=2)

4.可变参数传参(*args,kwargs)

&8211;也可以叫不定长参数

  • 1.*args可以接收任意长度的位置参数
  • 2.kwargs可以接收任意长度的关键字参数
  • 3.*args和kwargs同事使用时,*args(位置参数)在前,kwargs(关键字)参数在后。

形参为可变参数

def foo(*args, kwargs): print(“Positional arguments:”) print(type(args)) for arg in args: print(arg) print(“nKeyword arguments:”) print(type(kwargs)) for key, value in kwargs.items(): print(key + “: ” + str(value))if __name__ == ‘__main__’: a = foo(1,2,3,4,5,name = “tom”,age = 18) help(foo())

实参为可变参数

def foo(a,b,name,age): print(a,b,name,age)if __name__ == ‘__main__’: a = [1,2] b = “name”:”tom”,”age”:18} c = foo(*a,b)结局1 2 tom 18

实参和形参都为可变参数

def foo(*args, kwargs): print(“Positional arguments:”) print(type(args)) for arg in args: print(arg) print(“nKeyword arguments:”) print(type(kwargs)) for key, value in kwargs.items(): print(key + “: ” + str(value))if __name__ == ‘__main__’: a = [1,2,3,4,5] b = “name”:”tom”,”age”:18} a = foo(*a,b)

拓展资料

以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。

无论兄弟们可能感兴趣的文章:

  • python中函数传参的多种方式
  • 一文搞懂Python的函数传参机制
  • python函数传参意义示例详解
  • 详解python函数传参传递dict/list/set等类型的难题
  • 详解python函数传参是传值还是传引用
  • python 函数传参之传值还是传引用的分析
版权声明