繁体   English   中英

此代码段的作用是什么?

[英]what does this code snippet do?

有人可以给我解释一下以下代码吗?

from twisted.internet import protocol, reactor
from twisted.protocols import basic

class FingerProtocol(basic.LineReceiver):
    def lineReceived(self, user):
        self.transport.write(self.factory.getUser(user)+"\r\n")
        self.transport.loseConnection()

class FingerFactory(protocol.ServerFactory):
    protocol = FingerProtocol

    def __init__(self, **kwargs):  # whats is ** ??
        self.users = kwargs

    def getUser(self, user):
        return self.users.get(user, "No such user")

reactor.listenTCP(1079, FingerFactory(moshez='Happy and well'))  
# explain call to fnger factory??

对FingerFactory的调用(一个奇怪的名字,BTW)正在实例化FingerFactory对象。 该调用的参数传递给该类的__init__函数,在这里**kwargs参数将它们接受为字典:

{'moshez': 'Happy and well'}

因此,这已分配给新FingerFactory实例的users属性。

还有另一个问题,关于FingerFactory调用。

这就是在Python中进行实例化的方式。 您不使用new关键字。 您只需将类当作函数来调用即可。 该类的构造函数是__init__

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM