在 python 中将多个变量作为一个变量传递
Passing many variables as one variable in python
我有一个要发送到我的函数的变量列表。 (因此该函数基于这些变量的值工作)。
一种方法是像这样在函数中单独传递每个变量:
def my_function(var1, var2, var3, var4, ..., varn):
output = var1 + var2 + var3 + var4 + .... + varn
不过,不知能不能写出这样的东西:
def my_function(parameters):
output = parameters.var1 + parameters.var2 + ... + parameters.varn
也就是说,有没有办法把所有的变量都包在一个变量里,然后这样调用呢?
我知道上面的python代码不正确,我只是想表达我的问题。
提前致谢
有很多选择。您必须确定哪种方式适合您的情况。
选项 1. 通过单个星号获取多个参数
def my_function(*args):
output = sum(args)
# SAME WITH
# output = args[0] + args[1] + ... + args[n]
#
# PASSING ARGUMENTS EXAMPLE
# my_function(10, 20, 10, 50)
选项 2. 通过双星号获取关键字参数
def my_function(**kwargs):
output = sum(kwargs.values())
# SAME WITH
# output = kwargs["var0"] + kwargs["var1"] + ... + kwargs["varn"]
#
# PASSING ARGUMENTS EXAMPLE
# my_function(var0=10, var1=20, var2=15)
选项 3. 将参数作为列表获取
def my_function(list_arg):
output = sum(list_arg)
# SAME WITH
# output = list_arg[0] + list_arg[1] + ... + list_arg[n]
#
# PASSING ARGUMENTS EXAMPLE
# my_function([1, 10, 3, -10])
选项 4. 将参数作为字典获取
def my_function(dict_arg):
output = sum(dict_arg.values())
# SAME WITH
# output = kwargs["var0"] + kwargs["var1"] + ... + kwargs["varn"]
#
# PASSING ARGUMENTS EXAMPLE
# my_function({"var0":5, "var1":10, "var2":3})
我有一个要发送到我的函数的变量列表。 (因此该函数基于这些变量的值工作)。
一种方法是像这样在函数中单独传递每个变量:
def my_function(var1, var2, var3, var4, ..., varn):
output = var1 + var2 + var3 + var4 + .... + varn
不过,不知能不能写出这样的东西:
def my_function(parameters):
output = parameters.var1 + parameters.var2 + ... + parameters.varn
也就是说,有没有办法把所有的变量都包在一个变量里,然后这样调用呢?
我知道上面的python代码不正确,我只是想表达我的问题。
提前致谢
有很多选择。您必须确定哪种方式适合您的情况。
选项 1. 通过单个星号获取多个参数
def my_function(*args):
output = sum(args)
# SAME WITH
# output = args[0] + args[1] + ... + args[n]
#
# PASSING ARGUMENTS EXAMPLE
# my_function(10, 20, 10, 50)
选项 2. 通过双星号获取关键字参数
def my_function(**kwargs):
output = sum(kwargs.values())
# SAME WITH
# output = kwargs["var0"] + kwargs["var1"] + ... + kwargs["varn"]
#
# PASSING ARGUMENTS EXAMPLE
# my_function(var0=10, var1=20, var2=15)
选项 3. 将参数作为列表获取
def my_function(list_arg):
output = sum(list_arg)
# SAME WITH
# output = list_arg[0] + list_arg[1] + ... + list_arg[n]
#
# PASSING ARGUMENTS EXAMPLE
# my_function([1, 10, 3, -10])
选项 4. 将参数作为字典获取
def my_function(dict_arg):
output = sum(dict_arg.values())
# SAME WITH
# output = kwargs["var0"] + kwargs["var1"] + ... + kwargs["varn"]
#
# PASSING ARGUMENTS EXAMPLE
# my_function({"var0":5, "var1":10, "var2":3})