我有下面的课
class MetricLst(object):
def __init__(self,n):
self.min = min(n)
self.max = max(n)
lst = [1,2,3,4,5]
p = MetricLst(lst)
print p.max
5
print p.min
1
带着争论
^{pr2}$
我有以下问题:
- 如果我使用MetricArg,有没有一种优雅的方法来创建对象
使用列表?在
- 创建类时是否需要prefere*args(如果可以的话)?在
Tags:
可以将列表传递给变量函数或构造函数
是否使用变量函数而不是接受列表的函数实际上取决于函数。在
函数/构造器是经常用动态构造的列表调用,还是主要接收固定数量的参数?在
如果列表主要是动态的,那么接受列表是最好的主意,因为您不会用
*L
来扰乱代码。另一方面,如果在大多数情况下,调用者中参数的数量是固定的并且很小,那么仅仅传递参数比构建一个仅仅传递它的列表更具可读性。在*args*
语法具有等效的镜像调用:somelist
的元素将用作MetricArg
的参数。这取决于你想要呈现什么样的API。如果您希望接受0个或更多个参数,因为这是您希望最方便地调用类的方式,那么您可以使用该形式。在
在pythonapi中,
print()
和os.path.join()
函数是使用任意长度参数列表的可调用函数的著名示例。相关问题 更多 >
编程相关推荐