python中argv是什么意思,python中-args是什么意思

  python中argv是什么意思,python中*args是什么意思

  简单的功能。

  首先我们可以定义一个简单的函数,其中只考虑required_arg参数(position参数)。

  def exmaple(required_arg):

  需要打印_arg

  例如(“你好,世界!”)

  你好,世界!

  那么,如果我们调用一个函数并传入多个位置参数,会发生什么呢?它当然会报错!

  例如(“你好,世界!”,‘另一个字符串’)

  TypeError: exmaple()恰好接受1个参数(给定2个)

  定义函数时使用*arg和**kwarg。

  *arg和**kwarg可以帮助我们处理上述情况,允许我们在调用函数时传入多个参数。

  def exmaple2(required_arg,*arg,**kwarg):

  如果参数:

  打印“arg:”,arg

  如果夸格:

  打印“kwarg:”,kwarg

  exmaple2(Hi ,1,2,3,keyword1=bar ,keyword2=foo )

  参数:(1,2,3)

  kwarg: {keyword2: foo , keyword1: bar}

  从上面的例子可以看出,当我引入更多的参数时

  *arg会将额外的位置参数转换成元组。

  **kwarg会将关键字参数转换成dict。

  再比如,没有设置参数个数的加法函数。

  def sum(*arg):

  res=0

  对于参数中的e:

  res=e

  返回资源

  打印总和(1,2,3,4)

  打印sum(1,1)

  10

  2

  当然,如果要控制关键字参数,可以单独使用一个*作为特殊分隔符。限于Python 3,在下面的例子中,只有两个关键字参数,参数名为keyword1和keyword2。

  定义人员(required_arg,*,关键字1,关键字2):

  print(必选参数,关键字1,关键字2)

  人(嗨,关键字1=酒吧,关键字2=福)

  嗨,酒吧美食

  如果不传入参数名keyword1和keyword2,会报错,因为它们会被当作位置参数!

  person(Hi , bar , foo )

  TypeError: person()采用1个位置参数,但给出了3个

  调用函数时使用*arg和**kwarg。

  上面的例子和上面的情况很像。逆向思维。

  定义总和(a,b,c):

  返回一个

  a=[1,2,3]

  #解包列表a

  打印总和(*a)

  六

  定义总和(a,b,c):

  返回一个

  a={a: 1, b: 2, c: 3}

  #打开字典a

  打印总和(**a)

  六

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: