简单谈谈Python中函数的可变参数

yipeiwu_com5年前Python基础

前言

在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。

可变参数( * )

可变参数,顾名思义,它的参数是可变的,比如列表、字典等。如果我们需要函数处理可变数量参数的时候,就可以使用可变参数。

我们在查看很多Python源码时,经常会看到 某函数(*参数1, **参数2)这样的函数定义,这个*参数和**参数就是可变参数,一时会让人有点费解。其实只要把函数可变参数的定义搞清楚了,就不难理解了。

当我们不知道需要用几个参数来定义函数的时候,可变参数就可以大展手脚了。

在Python里,带 * 的参数就是用来接受可变数量参数的。

如果一个函数定义如下:

def functionTest(*args): 
 .... 
 .... 
 ....

调用时我们可以的这样调用:

functionTest(1) 
或者 
functionTest(1,2) 
或者 
functionTest(1,2,3)

后面可以传入多个参数。

看段实例代码,观察下*是怎么具体应用的吧:

def get_sum(*numbers): 
 sum = 0 
 for n in numbers: 
  sum += n 
 return sum 
  
#在这里写下你的代码来调用get_sum来求5个数字的和,并输出这个结果 
print (get_sum(1,2,3,4,5))

结果会是什么呢?大家可以自己动手操作起来看下,以就是关于Python中函数可变参数的全部内容,希望这篇文章对大家学习或使用python能有所帮助,如果有疑问可以留言交流。

相关文章

python的scikit-learn将特征转成one-hot特征的方法

如下所示: enc = OneHotEncoder(categorical_features=np.array([0,1,2]),n_values=[5,4,2]) enc.f...

使用url_helper简化Python中Django框架的url配置教程

django的url采用正则表达式进行配置,虽然强大却也广为诟病。反对者们认为django的url配置过于繁琐,且不支持默认的路由功能。 我倒觉得还好,只是如果觉得不爽,为什么不自己小小...

JSON文件及Python对JSON文件的读写操作

一,什么是JSON文件 JSON和XML都是互联网上数据交换的主要载体。 在JSON出现之前,大家一直用XML来传递数据。因为XML是一种纯文本格式,所以它适合在网络上交换数据。XML本...

关于PyTorch 自动求导机制详解

关于PyTorch 自动求导机制详解

自动求导机制 从后向中排除子图 每个变量都有两个标志:requires_grad和volatile。它们都允许从梯度计算中精细地排除子图,并可以提高效率。 requires_grad 如...

Python面向对象之类和实例用法分析

本文实例讲述了Python面向对象之类和实例用法。分享给大家供大家参考,具体如下: 类 虽然 Python 是解释性语言,但是它是面向对象的,能够进行对象编程。至于何为面向对象,在此就不...