The notation "*attribute" in the function signature denotes a variable number of positional arguments, which are provided to the function body as a tuple named attribute.Hello,
I'm a really new (and quite bad) Python programmer. While trying to use the HC HTML-Generating library, I couldn't figure out how to set a table's width to some given width. Moreover, the constructors interface is
def __init__(self, object = None, align = None, border = None, cellspacing = None, cellpaddding = None, *attributes)
So, what does *attribute stand for (being a C++ programmer, it looks like a pointer, probably not the case). Is it like the C++ ellipsis? If so, how can I use it?
>>> def f1(a, b, *c): ... print "a:", a ... print "b:", b ... print "c:", c ... >>> f1(1, 2, 3, 4, 5) a: 1 b: 2 c: (3, 4, 5) >>> f1('one', 'two') a: one b: two c: () >>>
Much easier than varargs in C!
The notation **kw similarly denotes a variable number of keyword arguments, which are provided to the function body as a dictionary named kw.
regards Steve
-- http://mail.python.org/mailman/listinfo/python-list