【发布时间】:2022-01-05 10:41:51
【问题描述】:
如何在__init__ 方法中访问 *args 变量名?
例如
class Parent:
def __init__(self, *args):
# How to access *args variable names here?
# In this example: foo, bar
pass
class Child(Parent):
def __init__(self, foo, bar):
super().__init__(foo, bar)
【问题讨论】:
-
这甚至不是一个有意义的概念。
*args与任何其他列表一样,只包含 值。无论如何,不能保证这些值甚至来自变量——它们很容易成为文字或表达式。 -
这在不同的上下文中是可能的。例如,一个 functools 包装的包装器可以访问包装的 *args 变量名称,如下所示:
func.__code__.co_varnames -
*args 和 *kargs:geeksforgeeks.org/args-kwargs-python。 args 仅用于值,kargs 用于键 => 值。
-
你不能。 变量不会被传递给函数,objects会。一般来说,您应该永远不必关心引用您的对象的变量的名称是什么。这通常是设计损坏的标志
标签: python python-3.x oop