Python2与Python3的区别/网络编程/socketserver模块中的多线程

一.知识点补充:

1.解释型语言和编译型语言

  编译型(目前有两种解释):

    先把代码编译成机器码 -> 机器寄存器去运行 :C语言

    先把代码编译成XXX -> 计算机找虚拟机执行代码 -> 机器码交给计算机去执行 :C语言,JAVA,C#

  解释型:

    边解释边执行

2.Python中的作用域

  Python中的函数是一个作用域

3.这里规定一下以后写元组的格式:

  v = (1,2,3,)

1.Python中函数是一个作用域
i=0
for i in range(10):
    pass
print(i)

结果:9

def func():
    for i in range(10):
        pass
func()
print(i)

结果:报错

2.列表生成式
val = [lambda x:x+i for i in range(10)]
ret = val[3](6)
print(ret)

结果:15

val = [lambda :x for x in range(10)]
ret = val[3]()
print(ret)

结果:9

二.Python2和Python3的区别

1.编码&字符串

  字符串:

    python2:

      unicode  v = u"root"  本质上用unicode存储(万国码)

      (str/bytes) v = "root"    本质用字节存储

    python3:

      str     v = "root"    本质上用unicode存储(万国码)

      bytes   v = b"root"  本质上用字节存储

  编码:

    python2:

      ASCII

      文件头可以修改: # -*- encoding:utf-8 -*-

    python3:

      utf-8

      文件头可以修改:# -*- encoding:utf-8 -*-

    注意:文件是如何存储的?

2.继承

  python2:新式类/经典类

  python3:新式类(继承object)

3.范围

  python2:range/xrange

  python3:   range

4.输入

  python2:v1 = raw_input("请输入用户名: ")

  python3:v2 = input("请输入用户名: ")

5.打印:

  python2:print "XX"

  python3:print(123)

三.网络编程

1.PC有网卡,网卡中有MAC地址

  cmd -> config /all -> 物理地址即为你的MAC地址

2.局域网中路由器或交换机中的DHCP服务为我们自动分配IP地址

  DHCP服务:说通俗一点,就是你在你的网卡的本地连接里设置成“自动获取IP地址”,而DHCP就是为你的网卡那个连接提供自动配置IP地址,子网掩码,网关,DNS等信息的一种服务协议,运行这种协议的就叫DHCP服务器

  IP:为计算机网络相互连接进行通信而设计的协议

    IPv4:互联网协议的第四版也是第一个被广泛使用,构成现今互联网即使的基础的协议,用32位0/1序列来表示,分为四段八位序列,每一段的范围是:0~255

      00000000.00000000.00000000.00000000

      0~255  0~255  0~255  0~255

    IPv6:用来设计替代现行版本IPv4的下一代版本,使用16进制来表示,也按照8位分割,段与段之间用":"分割

      00000000.00000000.00000000.00000000.00000000.00000000

  子网掩码:子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上;不能单独存在,必须和IP地址结合在一起使用

      192.168.13.84
      255.255.255.0

  网关IP:如果两个IP地址,不在同一网段,这时候,要想通过IP地址访问另一网段的计算机(也是IP地址),就需要网关地址。网关地址就是出口的地址,而且,网关地址,是你最近的一个出口的地址。网关地址总是与你的计算机的IP地址是同一网段的

      192.168.13.1

局域网;城域网;广域网
     广播
   单播
   广播风暴
   arp协议

3.DNS服务器

  网络连接:

     - 域名解析 www.luffycity.com 47.95.64.113

         www.oldboyedu.com 101.200.195.98

    - 连接

         sk = socket.socket()

         sk.connect((‘47.95.64.113‘,80))

        ...

  问题来了,域名和IP的对应关系在哪里?
  本地:
  Win本地电脑:
    C:\Windows\System32\drivers\etc\hosts
      11.11.11.11 luffycicy.com
  Linux/Mac电脑:
      /etc/hosts

  DNS服务器:全球顶级DNS服务器13台

4.总结:

(1). DHCP,自动位局域网内容电脑分配IP。
(2). 网关,路由器中连接交换机的口。
(3). IP,4个点分的十进制表示 192.11.111.11
(4). 子网掩码,
  IP: 192.168.13.99
  掩码:255.255.255.0
  将挡住的IP位数作为网段。
  未挡住的部分作为可变的值。
(5). 局域网/城域网/广域网
(6). arp协议
(7). DNS

111

原文地址:https://www.cnblogs.com/rixian/p/9600115.html

时间: 2024-10-08 10:16:10

Python2与Python3的区别/网络编程/socketserver模块中的多线程的相关文章

八. 网络编程( socketserver 模块 初级使用)

一 .socketserver 模块初级使用 ThreadingTCPServer ocketserver是标准库中的一个高级模块 socketserver可以简化创建客户端跟创建服务端的代码 socketserver 可以用于 TCP 协议 应用场景 应为tcp是一个长连接 只能保持一个人通话 但是socketserver就解决了同时多个客户端来 通话 初始化控制器类Handler[Handler是一个继承BaseRequestHandler的类Handler中的handle方法决定了每一个连

python2 与 python3的区别总结

python2 与 python3的区别总结 几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下.为了简化这个转换过程,Python 3自带了一个叫做2to3的实用脚本(Utility Script),这个脚本会将你的Python 2程序源文件作为输入,然后自动将其转换到Python 3的形式. 案例研究:将chardet移植到Python 3(porting chardet to Python 3)描述了如何运行这个脚本,然后展示了一些它不能自动修复的情况.这

详解python2 和 python3的区别

看到这个题目大家可能猜到了我接下来要讲些什么,呵呵,对了,那就是列出这两个不同版本间的却别!搜索一下大家就会知道,python有两个主要的版本,python2 和 python3 ,但是python又不同于其他语言,向下兼容,python3是不向下兼容的,但是绝大多数组件和扩展都是基于python2的,下面就来总结一下python2和python3的区别. 1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和

python2、python3 的区别及小数据池

一.python2 与python3的区别 1.print    python2中输出的格式为:print''    python3输出为print() 2.在python2中xrange是个生成器,可以转化成range,在python3中直接是range 3.在python2中用户交互是raw_input,在python3中是input. 二.关于内存地址(只有数字和字符串才有小数据池,    = 是赋值,==是比较的是值,is 是比较,比较的是内存地址  ) 关于 is 比较内存地址的情况:

38 - 网络编程-socketserver

目录 1 socket编程弊端 2 SocketServer模块 2.1 服务器类 2.2 Mixin类 2.3 RequestHandlerClass是啥 2.4 编程接口 3 实现EchoServer 4 聊天室 1 socket编程弊端 socket编程过于底层,编程虽然有套路,但是要写出健壮的代码还是比较困难的,所以很多语言都会socket底层API进行封装,Python的封装就是SocketServer模块.它是网络服务编程框架,便于企业级快速开发. 2 SocketServer模块

Python2与Python3的区别:

前言:目前python两个版本Python2与Python3同时存在,并且这两个版本都在维护更新,但是Python2应该在2020年就停止维护更新了,那么到底选择Python2还是Python3,这个要取决于当前的要使用的库.框架支持哪个版本.现在做一下Python2与Python3的区别: 1.  性能:Py3起始比Py2的效率低,但是Py3具有极大的优化空间,效率正在追赶 2.  编码:Py3原码文件默认使用utf-8编码,使得变量名更为广阔 3.  语法: 1>  Py3去除了<>

【python】网络编程-SocketServer 实现客户端与服务器间非阻塞通信

利用SocketServer模块来实现网络客户端与服务器并发连接非阻塞通信.首先,先了解下SocketServer模块中可供使用的类:BaseServer:包含服务器的核心功能与混合(mix-in)类挂钩:这个类只用于派生,所以不会生成这个类的实例:可以考虑使用TCPServer和UDPServer.TCPServer/UDPServer:基本的网络同步TCP/UDP服务器.UnixStreamServer/ UnixDatagramServer:基本的基于文件同步TCP/UDP服务器.Fork

python网络编程-----&gt; socketserver实现并发

1.socketserver的作用: 基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环 socketserver模块中分两大类:server类(解决链接问题)和request类(解决通信问题) 2.代码实现: 服务端: import socketserver class MyTcphandler(socketserver.BaseRequestHandler): def handle(self): while True: #通信循环 data=self.request.recv(

网络编程与模块相关

BS架构 (腾讯通软件:server+client) CS架构 (web网站) C/S架构与socket的关系: 我们学习socket就是为了完成C/S架构的开发 二.OSI七层模型 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 每层运行常见物理设备 详细参考: http://www.cnblogs.com/linhaifeng/articles/5937962.html#_label4 学习socket一定要先学习互联网协议: 1.首先:本节课程的目标就是教会你如何