广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Python技术 > 正文

Python3不定长参数_惠州计算机Python软件开发

作者:黄君发布时间:2020-12-31分类:Python技术浏览:1537


导读:你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。基本语法如下:

你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。基本语法如下:

def functionname([formal_args,] *var_args_tuple ):
   "函数_文档字符串"
   function_suite
   return [expression]

加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。

实例(Python 3.0+)

#!/usr/bin/python3

 

# 可写函数说明

def printinfo( arg1, *vartuple ):

  "打印任何传入的参数"

  print ("输出: ")   print (arg1)   print (vartuple)

# 调用printinfo 函数

printinfo( 70, 60, 50 )

以上实例输出结果:

输出: 
70
(60, 50)


如果在函数调用时没有指定参数,它就是一个空元组。我们也可以不向函数传递未命名的变量。如下实例:


实例(Python 3.0+)

#!/usr/bin/python3

# 可写函数说明def printinfo( arg1, *vartuple ):

  "打印任何传入的参数"

  print ("输出: ")   print (arg1)

  for var in vartuple:

     print (var)

  return

# 调用printinfo 函数

printinfo( 10 )

printinfo( 70, 60, 50 )

以上实例输出结果:

输出:
10
输出:
70
60
50

还有一种就是参数带两个星号 **基本语法如下:

def functionname([formal_args,] **var_args_dict ):
   "函数_文档字符串"
   function_suite
   return [expression]

加了两个星号 ** 的参数会以字典的形式导入。

实例(Python 3.0+)

#!/usr/bin/python3

 

# 可写函数说明

def printinfo( arg1, **vardict ):

  "打印任何传入的参数"

  print ("输出: ")   print (arg1)   print (vardict)

# 调用printinfo 函数

printinfo(1, a=2,b=3)

以上实例输出结果:

输出: 
1
{'a': 2, 'b': 3}

声明函数时,参数中星号 * 可以单独出现,例如:

def f(a,b,*,c):
    return a+b+c

如果单独出现星号 * 后的参数必须用关键字传入。

>>> def f(a,b,*,c):
...     return a+b+c
... 
>>> f(1,2,3)   # 报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: f() takes 2 positional arguments but 3 were given
>>> f(1,2,c=3) # 正常
6
>>>


标签:惠州计算机软件培训惠州计算件软件开发惠州计算机软件基础惠州计算机Python软件开发惠州Python培训


Python技术排行
标签列表
网站分类
文章归档
最近发表