假设我们拥有一个固定的公式,那么即使输入的数字发生改变,我们每次依然可以使用它进行计算。我们使用可变参数的时候也是如此,对于可变参数我们可以把它看做是动态的、会发生变化。那么,也可以用它处理一些数字的计算,就跟我们做数学运算是一样的。下面小编就为大家带来python中可变参数进行数学运算的实例。
可变参数是指参数的个数是可变化的,可以是0个,可以是1个,也可以是多个,可变参数在定义的时候用符号 * 表示,而且在函数被调用的时候参数会被组装成一个 tuple (类似 list 数组的一种基本数据类型),比如我们要实现一个计算多个数字的平方和,多个数字即可以被当成一个可变参数传过去,具体看下面的代码。
#可变参数 def variableParams(*params): print(params) #可变参数会被组装成一个tuple sum = 0 for i in params: sum += i*i print(sum) return sum list = [2,4] variableParams(2,4) variableParams(list[0],list[1]) #如果已经存在了一个list数组,我们可以使用数组中单个元素作为可变参数传入 variableParams(*list) #为了简化上面的参数调用方式,可以使用*来把参数当做可变参数传入。(2, 4) 20 (2, 4) 20 (2, 4) 20
拓展:可变参数在类中使用
我们直接来看下面这个例子
class Myclass: def __init__(self, a): self.a = a def printa(self): print(self.a)
运行如下
>>> aa = [1,2] >>> my = Myclass(aa) >>> my.printa() [1, 2] >>> aa.append(3) >>> my.printa() [1, 2, 3]
我们可以看到,类中的变量和全局变量地址依然是共用的,无论在哪里修改都会影响对方。
其实这个特性也不能说是一个弊端,利用这一点可以进行一些很方便的操作,比如两个线程同时操作一个队列,我们不用设置一个global队列,只要将队列这个可变对象传入类之中,修改就会自动同步。
以上就是在python中用可变参数进行数学运算的办法了,当然结合我们以往所学类的模块也是可以使用的。更多其它的用法,小伙伴们也可以自己挖掘,这里常见的可变参数用法已经分享给大家了。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试