Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于python脚本_Python_Oop - Fatal编程技术网

关于python脚本

关于python脚本,python,oop,Python,Oop,我有这个密码 class HNCS (ThreadingTCPServer): def verify_request(self, request, client_address): for key in connections: if connections[key].client_address[0] == client_address[0]: if client_address[0] != '127.0

我有这个密码

 class HNCS (ThreadingTCPServer):

    def verify_request(self, request, client_address):

        for key in connections:

            if connections[key].client_address[0] == client_address[0]:

                if client_address[0] != '127.0.0.1':

                    return False

        return True

    def welcome(self):

        return '''______________________________________________________
------------------------------------------------------
%s
______________________________________________________
------------------------------------------------------
* Server started %s
* Waiting for connections on port %i
''' % (gpl, ctime(), PORT)
我只是想不出上面写着什么 如果连接[key]。客户端地址[0]==客户端地址[0]


为什么我们在dictionary之后使用client\u address作为属性?

也许dictionary存储的值恰好是具有client\u address成员属性的对象


换句话说,
.client\u地址
与作为参数传入的
client\u地址
不同。相反,它是类中恰好存储在
连接[key]
中的字段的名称。可能字典正在存储恰好具有client\u address成员属性的对象的值


换句话说,
.client\u地址
与作为参数传入的
client\u地址
不同。相反,它是类中恰好存储在
connections[key]

中的字段的名称,因为
connections
字典可能有一个具有
client\u address
属性的对象

比如:

编辑

dict
是一种字典,其中可以使用键存储值。当您再次请求该键时,您将获得返回的值,就这么简单

在我前面的示例中,行:

connections = {"oscar":SomeClass(["127.0.0.1","192.60.0.1"])}
可以写成:

connection = []
connections["oscar"] = SomeClass(["1","2"])
s = connections["oscar"]

在注释
test[self.name]=self
中,使用
name
作为键将
self
表示的对象存储到
test
字典中

因为
连接
字典可能有一个带有
客户端地址
属性的对象

    for key in connections:
        if connections[key].client_address[0] == client_address[0]:
比如:

编辑

dict
是一种字典,其中可以使用键存储值。当您再次请求该键时,您将获得返回的值,就这么简单

在我前面的示例中,行:

connections = {"oscar":SomeClass(["127.0.0.1","192.60.0.1"])}
可以写成:

connection = []
connections["oscar"] = SomeClass(["1","2"])
s = connections["oscar"]
在注释
test[self.name]=self
中,使用
name
作为键将
self
表示的对象存储到
test
字典中

    for key in connections:
        if connections[key].client_address[0] == client_address[0]:
这只是查看
连接
字典中存储的所有值,以查看其名为
客户端地址
的属性是否与本地变量
客户端地址
具有相同的第一项(IP地址)。变量不必与字典中值的属性同名

它的意思是:如果来自同一IP地址的另一个连接已经被服务,则中止连接。(本地主机除外,它可以拥有任意多的连接。)

它可以重新拼写为:

def verify_request(self, request, new_client_addr):
    ip= new_client_addr[0]
    active_ips= [value.client_address[0] for value in connections.values()]
    return ip not in active_ips or ip=='127.0.0.1'
这只是查看
连接
字典中存储的所有值,以查看其名为
客户端地址
的属性是否与本地变量
客户端地址
具有相同的第一项(IP地址)。变量不必与字典中值的属性同名

它的意思是:如果来自同一IP地址的另一个连接已经被服务,则中止连接。(本地主机除外,它可以拥有任意多的连接。)

它可以重新拼写为:

def verify_request(self, request, new_client_addr):
    ip= new_client_addr[0]
    active_ips= [value.client_address[0] for value in connections.values()]
    return ip not in active_ips or ip=='127.0.0.1'

不要打扰你自己,得到:D thnx dude另一个问题,当我在类测试内说[self.name]=self时会发生什么?这是否意味着对象本身及其属性以名称give???存储在列表中?对对象的引用是,是的。不要打扰你自己,得到:D thnx dude另一个问题,当我说在类测试内部[self.name]=self时会发生什么?这是否意味着对象本身及其属性存储在名为give???的列表中?对对象的引用是,是。另一个问题,当我说在类测试内部[self.name]时会发生什么=self这是否意味着对象本身及其属性存储在名为give???的列表中?另一个问题,当我在类测试中说[self.name]时会发生什么=self这是否意味着对象本身及其属性存储在名为give???@kmitnick:Python中没有函数重载。@kmitnick:Python中没有函数重载。