首页 > 代码库 > python第十天
python第十天
不知不觉已经第十天学习了啊,目测还差上一个礼拜也就是开始学习python两个月了,估计写不到第十一篇了暂时,因为这两天在研究openstack,感觉特别好,写完这个去写一篇关于云的,其实这才是今天突然写博客的主要目的~~~
这一篇还是主要关于socket编程的,再对Python2.7版本的继承方式了解一下,还有作用域
1.作用域:
1 #!/usr/bin/env python 2 if 1 == 1: #python无块级作用域 3 name = ‘ace‘ 4 print(name) 5 6 for i in range(10): 7 name = i 8 print(name) 9 10 11 def func(): #python以函数作为作用域12 name = ‘mmm‘13 func()14 print(name)15 16 li = [lambda :x for x in range(100)]17 r = li[0]()18 print(r)
1 C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python.exe C:/Users/Administrator/PycharmProjects/ACE/study10/s1.py2 ace3 94 95 996 7 Process finished with exit code 0
2.socket源码结构:我画图实在是惨不忍睹,直接复制别人的吧....武sir的,弄大点,眼神不好使....这一段全是复制的了,很明显不是我写博客的中二风格(http://www.cnblogs.com/wupeiqi/articles/5040823.html)
内部调用流程为:
- 启动服务端程序
- 执行 TCPServer.__init__ 方法,创建服务端Socket对象并绑定 IP 和 端口
- 执行 BaseServer.__init__ 方法,将自定义的继承自SocketServer.BaseRequestHandler 的类 MyRequestHandle赋值给self.RequestHandlerClass
- 执行 BaseServer.server_forever 方法,While 循环一直监听是否有客户端请求到达 ...
- 当客户端连接到达服务器
- 执行 ThreadingMixIn.process_request 方法,创建一个 “线程” 用来处理请求
- 执行 ThreadingMixIn.process_request_thread 方法
- 执行 BaseServer.finish_request 方法,执行 self.RequestHandlerClass() 即:执行 自定义 MyRequestHandler 的构造方法(自动调用基类BaseRequestHandler的构造方法,在该构造方法中又会调用 MyRequestHandler的handle方法)
ps:需要注意的就是pycharm不是万能的....
3.进程线程,下篇跟协程一起再写吧,不然乱了
4.python2.7的继承关系
默认一条道走到黑,如下图
但是当继承object类后就会与3.5一个风格,3.5的所有类已经默认全部继承了object类,唯一的区别,我没2.7的版本,代码不写了,but
python第十天
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。