1.编译型:把代码编译成机器码,计算机找虚拟机执行代码,机器码交给计算技巧去运行
:C语言,java c#
解释型:边解释边执行
5.只有列表才能reverse 字符串需要索引[::-1]
6.py2/py3
py2:print"xx"
py3:print(123)
py2:经典类 新式类 2.2以后
py3:新式类(object)
数据类型:py2:有两种数据类型 unicode v=u"root"本质上unicode存储
(str/ bytes ) 如 v="root"在py2是由字节存储的
py3:str v="root" 本质上unicode存储
bytes v=b"root" 本质上是字节存储
编码:py2 默认使用ascii
文件头可修改#-*- encoding:uif-8(可以随意改编码) -*-
py3 默认使用utf-8
文件头可修改#-*- encoding:uif-8(可以随意改编码) -*- 输入:py2: v1=raw_input("请输入用户")
py3:v1=input("请输入用户")
范围
py2:range/xrange
py3:range

2.多线程 是通过 模块 threading 来实现的

 import threading
import time
def func(a,b,c):
time.sleep(11)
print("吃冰淇淋")
def play():
print("玩守望先锋")
def sleep():
print("睡觉")
t1=threading.Thread(target=func,args=(1,2,3))
t1.start()
t2=threading.Thread(target=play())
t2.start()
t1=threading.Thread(target=sleep())
t1.start()
print("我是")
print("一课")
print("小喵咪")
主要是理解sockerserver 为什么可以使用多线程,是因为里面都有thread模块

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 import  threading
import time
def func(name):
print("开始执行任务: %s"% name)
time.sleep(10)
print("...")
print("完成任务%s"% name) while 1:
name=input("请输入名字")
t1=threading.Thread(target=func,args=(1,))#这里需要添加数字还是参数
#都可以,不过需要在args=后面加入括号和后面的逗号
t1.start()

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

与sock的具体实现 主要来说明可以使用多线程在网络编程可以加快速度 具体是在sockerserver 模块里

所以主要是理解

 import  threading
import socket
import time
def func(conn):
print("准备中>>>")
data=conn.recv(1024).decode('utf8')
print(data)
conn.close()#可以吧服务器关闭
surver=socket.socket()
surver.bind(("192.168.13.92",8000))
surver.listen(10)
while 1:
conn,addr=surver.accept()#这里位置需要放置条件
t1=threading.Thread(target=func,args=(conn,))
t1.start()

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

最后附上标准sockerserver

import  socketserver
class MYserver(socketserver.BaseRequestHandler):
def handle(self):
pass server=socketserver.ThreadingTCPServer(("192.168.13.92",8000),MYserver)
server.serve_forever()
05-12 15:40