Python–socketserve源码分析(一)

classThreadingTCPServer(ThreadingMixIn,TCPServer):pass实现原理:s=socketserver.ThreadingTCPServer(参

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

Python--socketserve源码分析(一) 

class ThreadingTCPServer(ThreadingMixIn, TCPServer): pass

实现原理:

  s =socketserver.ThreadingTCPServer(参数1,参数2,……)

  根据ThreadingTCPServer的基类顺序,依次匹配各基类的构造函数参数

  若第一个没构造函数则向后匹配

  若有构造函数但参数不匹配则报错

  若有构造函数且参数匹配则调用基类构造函数,并停止匹配过程

情况1:

#coding:UTF-8

class Base:def fun(self):
        print ("Base fun")

class B:
    def __init__(self, a, b):
        print (a,b)

class A(Base, B):
    pass        

if __name__ == "__main__":
    a = A(1,2)

>>>> 1,2

情况2:

#coding:UTF-8

class Base:
    def __init__(self):
        self.ip = "192.168.3.8"
        self.port = 1122
        self.fun()

    def fun(self):
        print ("Base fun")

class B:
    def __init__(self, a, b):
        print (a,b)

class A(Base, B):
    pass        

if __name__ == "__main__":
    a = A(1,2)

>>>> Traceback (most recent call last):

>>>> File “test.py”, line 20, in <module>
>>>> a = A(1,2)
>>>> TypeError: __init__() takes 1 positional argument but 3 were given
情况3:

#coding:UTF-8

class Base:
    def __init__(self, a, b):
        self.ip = "192.168.3.8"
        self.port = 1122
        self.fun()

    def fun(self):
        print ("Base fun")

class B:
    def __init__(self, a, b):
        print (a,b)

class A(Base, B):
    pass        

if __name__ == "__main__":
    a = A(1,2)
    

>>>> Base fun

  

 

  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120223.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 模糊数学学习笔记

    模糊数学学习笔记一 什么是模糊数学为了精确地描述复杂的现实对象 各类数学分支不断的产生和发展 迄今为止 处理现实对象的数学模型可分为三大类 1 确定性数学模型 这类模型的背景对象具有确定性或固定性 对象间具有必然的关系 2 随机性数学模型 这类模型的背景对象具有或然性或随机性 3 模糊性数学模型 这类模型的背景对象及其关系具有模糊性 前两类模型的共同特点是所描述的事物本身的含义是确定的 他们赖

    2025年7月26日
    0
  • 小程序列表跳转至详情_小程序相互跳转的方法

    小程序列表跳转至详情_小程序相互跳转的方法效果展示:列表页js部分:onLoad:function(options){varthat=this;wx.request({url:’你的接口’,data:{ 接口参数},header:{‘content-type’:’ap…

    2022年8月18日
    5
  • Java学习之IDEA调试快捷键

    Java学习之IDEA调试快捷键1、F7单步调试,进入函数内部2、F8单步调试,不进入函数内部3、Shift+F7选择要进入的函数4、Shift+F8跳出函数5、Alt+F9运行到

    2021年12月12日
    74
  • 渗透测试 漏洞扫描_系统漏洞扫描工具有哪些

    渗透测试 漏洞扫描_系统漏洞扫描工具有哪些安全漏洞产生的原因技术原因软件系统复杂性提高,质量难于控制,安全性降低 公用模块的使用引发了安全问题经济原因“柠檬市场”效应——安全功能是最容易删减的部分环境原因从传统的封闭、静态和可控变为开放、动态和难控 攻易守难安全缺陷安全性缺陷是信息系统或产品自身“与生俱来”的特征,是其“固有成分”安全漏洞是与生俱来的系统设计缺陷Internet从设计时就缺乏安全的总体架构和设计 TCP/IP中的三阶段握手.软件源代码的急剧膨胀Windows951500万行

    2022年8月12日
    6
  • asp:ScriptManager

    asp:ScriptManager概述ScriptManager控件管理用于MicrosoftASP.NETAJAX页面的客户端脚本。默认情况下,ScriptManager控件将MicrosoftAJAX库的脚本与页面注册到一起,这使脚本可以使用类型系统扩展并支持局部页面输出和Web服务调用。在页面中,必须使用ScriptManager控件来使下列MicrosoftASP.NETAJAX的特性可用…

    2022年7月13日
    20
  • Java死锁排查和Java CPU 100% 排查的步骤整理和OOM FullGc案例

    工欲善其事,必先利其器简介本篇整理两个排查问题的简单技巧,一个是java死锁排查,这个一般在面试的时会问到,如果没有写多线程的话,实际中遇到的机会不多;第二个是java cpu 100%排查,这个实际的开发中,线的应用出现这个问题可能性比较大,所以这里简单总结介绍一下,对自己学习知识的一个整理,提高自己的解决问题能力。一、Java死锁排查通过标题我们就要思考三个问题…

    2022年2月27日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号