python中可变参数如何进行数学运算?

python中可变参数如何进行数学运算?,第1张

python中可变参数如何进行数学运算

假设我们拥有一个固定的公式,那么即使输入的数字发生改变,我们每次依然可以使用它进行计算。我们使用可变参数的时候也是如此,对于可变参数我们可以把它看做是动态的、会发生变化。那么,也可以用它处理一些数字的计算,就跟我们做数学运算是一样的。下面小编就为大家带来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中用可变参数进行数学运算的办法了,当然结合我们以往所学类的模块也是可以使用的。更多其它的用法,小伙伴们也可以自己挖掘,这里常见的可变参数用法已经分享给大家了。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3013926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-28
下一篇 2022-09-28

发表评论

登录后才能评论

评论列表(0条)

保存