这篇文章主要介绍了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中可变参数进行数学运算的方法内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。