[Twisted-Python] need explanation in tutorial
litnimax
litnimax at fromru.com
Fri Aug 13 09:08:38 MDT 2004
Hi all, sorry for silly question.
I started learning twisted, and have a question.
(from evolving finger part 2)
class FingerSetterProtocol(basic.LineReceiver):
def connectionMade(self): self.lines = []
def lineReceived(self, line): self.lines.append(line)
def connectionLost(self, reason):
self.factory.setUser(*self.lines[:2])
# first line: user second line: status
What is "*self.lines[:2]"?
Why is there asterisk?
If I remove * from parameters, I get functions take 2 arguments.
From python I know that if parameter is coming with *, that means a tuple
of parameters, if with ** - dict of parameters.
>>> a
{1: '22'}
>>> a.__setitem__(*[1,'22222'])
>>> a
{1: '22222'}
>>> *[1,'22']
File "<stdin>", line 1
*[1,'22']
^
SyntaxError: invalid syntax
How this code is working!!?? :))
How can *[1,'22'] work??
Thanks much in advance :)
--
Using Opera's revolutionary e-mail client: http://www.opera.com/m2/
More information about the Twisted-Python
mailing list