0

http://enomalism.com/api/pyvb/

我们在这里def _init_(self,**kw):

当我们为 pyvb.vm.vbVM 创建实例时应该传递什么参数???

4

2 回答 2

1

您看到的是“关键字参数”。您可以使用字典或命名参数调用构造函数。这是使用关键字参数的示例:

我的类(对象):
   def __init__(self,**kwargs):
       如果 kwargs 中的“val”:
           self.__value = kwargs['val'];
       kwargs 中的 elif '值':
           self.__value = kwargs['value'];
       别的:
           raise ValueError("需要参数 'val' 或 'value'。");
   定义获取值(自我):
       返回自我.__值;

# ...

定义主(argv=无):
    # ...
    instance1 = MyClass(val=5);
    x = instance1.getValue(); # 值为 5

    instance2 = MyClass(值=6);
    y = instance2.getValue(); # 值为 6

    valuedict = {'val':10};
    instance3 = MyClass(**valuedict);
    z = instance3.getValue(); # 值为 10

关键字参数很好,因为它们可以使您的函数和构造函数非常灵活,并且——从最后一个实例化案例中可以看出——可以从配置字典构造对象。关键字参数的主要缺点是,因为它非常灵活,所以选项可能并不明显。您可以尝试执行“pydoc pyvb.vm”,或者如前所述,您可以查看源代码,其中显示了支持的属性。

于 2010-02-23T10:11:26.867 回答
0

看起来您想传入一组配置项。请参阅源代码

于 2010-02-22T16:21:16.840 回答