zoukankan      html  css  js  c++  java
  • py2,py3区别 ,基础网络常识,多线程,

    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 来实现的

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

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

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

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

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

    所以主要是理解

     1 import  threading
     2 import socket
     3 import time
     4 def func(conn):
     5     print("准备中>>>")
     6     data=conn.recv(1024).decode('utf8')
     7     print(data)
     8     conn.close()#可以吧服务器关闭
     9 surver=socket.socket()
    10 surver.bind(("192.168.13.92",8000))
    11 surver.listen(10)
    12 while 1:
    13     conn,addr=surver.accept()#这里位置需要放置条件
    14     t1=threading.Thread(target=func,args=(conn,))
    15     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()
  • 相关阅读:
    点击bindingNavigatorAddNewItem 关联的dataGridView不会新增一行
    dataGridView的使用经验
    Mybatis源码分析:Resources
    Mybatis源码分析:BaseBuilder
    反射类 Modifier类
    Mybatis源码分析:SqlSessionManager
    Mybatis源码分析:SqlSessionFactory
    Mybatis源码分析:环境设置Environment
    Mybatis源码分析:类型处理器TypeHandler
    Mybatis源码分析:MapperRegistry
  • 原文地址:https://www.cnblogs.com/zhangqing979797/p/9599966.html
Copyright © 2011-2022 走看看