首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python2和3的区别丶网络编程以及s

python2和3的区别丶网络编程以及s

作者头像
py3study
发布2020-01-19 16:36:16
5160
发布2020-01-19 16:36:16
举报
文章被收录于专栏:python3python3

一丶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:    新式类

  3.范围

    python2:     range/xrange

    python3:      range

  4.输入

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

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

  5.打印

    python2:  print"XXX"

    python3:  print("XXX")

二丶网络编程

  1.mac

    mac地址是固定的存在于网卡上.每台电脑都不一样

  2.DHCP

    DHCP是一个局域网的网络协议,存在于路由器或交换机中,该协议可以自动的为我们分配IP

    有局域网,广域网,城域网

    ARP协议:ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

  3.DNS

    网络连接:

      域名解析:

        每一个域名后面都有其对应的IP地址,如:

          www.baidu.com  111.13.100.91

          www.qq.com    111.30.132.101

        连接时:

          sk = socket.socket()

          sk.connect(("111.13.100.91",8080))....

    问题来了,域名和IP的对应关系在哪里?

      本地:

        Win本地电脑:

          C:\Windows\System32\drivers\etc\hosts中

        Linux/Mac电脑:

          /etc/hosts中

    DNS服务器: 全球顶级的DNS服务器只有十三台

三丶socketserver和多线程

  socketserver

    对照图看源码:

    执行serve_forever的相关代码:

   2.多线程

    在多线程的操作系统中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。

import time
import threading

def task(a1,a2,a3):
    time.sleep(3)
    print('拿快递')

def play():
    print('和女朋友去耍')

def wm():
    print('去拿外卖')

# 创建一个线程
# 让该线程去执行任务:函数
t1 = threading.Thread(target=task,args=(1,2,3,))
# 去执行吧
t1.start()


# 创建一个线程
# 让该线程去执行任务:函数
t2 = threading.Thread(target=play)
# 去执行吧
t2.start()

# 创建一个线程
# 让该线程去执行任务:函数
t3 = threading.Thread(target=wm)
# 去执行吧
t3.start()

print('玩扇子')
print('煽风点火')
print('耍贱...')

  线程好比一个人同时做多件事,就跟孙悟空一样,来一个需求,就把根毛变成自己去做那件事了,再来一个需求就再拔一根变成自己去做,之间互不干扰.有了多线程我们服务器就可以为多个用户同时服务了

示例:我么可以模拟很多人给服务器请求,让服务器去执行,每个请求10秒后完成.代码如下

import time
import threading


def task(n):
    print('开始执行任务:',n)
    time.sleep(10)
    print('...')
    print('任务%s 执行完毕:'%n)

while True:
    name = input("请输入任务:")
    t = threading.Thread(target=task,args=(name,))
    t.start()

多个任务同时进行,并且互不干扰

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一丶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:    新式类
    •   3.范围
      •     python2:     range/xrange
      •     python3:      range
    •   4.输入
      •     python2:  v1 = raw_input("请输入用户名")
      •     python3:  v2 = input("请输入用户名")
    •   5.打印
      •     python2:  print"XXX"
      •     python3:  print("XXX")
  • 二丶网络编程
    •   1.mac
      •     mac地址是固定的存在于网卡上.每台电脑都不一样
    •   2.DHCP
      •     DHCP是一个局域网的网络协议,存在于路由器或交换机中,该协议可以自动的为我们分配IP
      •     有局域网,广域网,城域网
      •     ARP协议:ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
    •   3.DNS
      •     网络连接:
      •       域名解析:
      •         每一个域名后面都有其对应的IP地址,如:
      •           www.baidu.com  111.13.100.91
      •           www.qq.com    111.30.132.101
      •         连接时:
      •           sk = socket.socket()
      •           sk.connect(("111.13.100.91",8080))....
      •     问题来了,域名和IP的对应关系在哪里?
      •       本地:
      •         Win本地电脑:
      •           C:\Windows\System32\drivers\etc\hosts中
      •         Linux/Mac电脑:
      •           /etc/hosts中
      •     DNS服务器: 全球顶级的DNS服务器只有十三台
      •   socketserver
      •     对照图看源码:
      •     执行serve_forever的相关代码:
  • 三丶socketserver和多线程
    •    2.多线程
      •     在多线程的操作系统中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。
      •   线程好比一个人同时做多件事,就跟孙悟空一样,来一个需求,就把根毛变成自己去做那件事了,再来一个需求就再拔一根变成自己去做,之间互不干扰.有了多线程我们服务器就可以为多个用户同时服务了
      • 示例:我么可以模拟很多人给服务器请求,让服务器去执行,每个请求10秒后完成.代码如下
      • 多个任务同时进行,并且互不干扰
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档