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 来实现的
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()
py2,py3区别 ,基础网络常识,多线程,的更多相关文章
- Java并发指南1:并发基础与Java多线程
本文转载自互联网,侵删 什么是并发 在过去单CPU时代,单任务在一个时间点只能执行单一程序.之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程.虽然并不是真正意义上的“同一时间点”,而是 ...
- python 基础网络编程1
python 基础网络编程1 Source code: Lib/socketserver.py lib的主目录下有一个sockserver.py文件, 里面是python基本的网络编程模型 共有一个b ...
- openstack(liberty):部署实验平台(一,基础网络环境搭建)
openstack项目的研究,到今天,算是要进入真实环境了,要部署实验平台了.不再用devstack了.也就是说,要独立controller,compute,storage和network了.要做这个 ...
- Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步
Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步 一.概述 PV操作是对信号量进行的操作. 进程同步是指在并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消 ...
- iOS开发网络篇—多线程断点下载
iOS开发网络篇—多线程断点下载 说明:本文介绍多线程断点下载.项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件.因为实现过程较为复杂,所以下面贴出完整的代码. 实现思路:下载开始, ...
- OLAP和OLTP的区别(基础知识) 【转】
联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则.OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 ( ...
- java基础-网络编程(Socket)技术选型入门之NIO技术
java基础-网络编程(Socket)技术选型入门之NIO技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传统的网络编程 1>.编写socket通信的MyServer ...
- Java基础知识常识总结
Java基础知识常识总结 1.面向对象的特征以及对他的理解? 封装,继承,多态,如果再增加一条就是抽象. 2.Object有几种方法,分别是什么? 在JDK1.5中的11种方法,分别有: toStri ...
- Linux学习笔记(9)linux网络管理与配置之一——Linux基础网络命令与学习大纲(0)
大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配置DNS客户端 4.配置名称解析顺序 5.配置路由与默认网关 6.双网卡绑定 [1] ping [2]net ...
随机推荐
- Jmeter Question 之“集成Ant+Jenkins自动化”
首先介绍一下Ant.Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.由Apache软件基金会所提供. 是的.还是Apache家 ...
- Html学习之十八(表格与表单学习--统计表制作)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- table表格属性
- WordPress更改“固定链接”后 ,页面出现404的解决方法
一.Web服务器对应的是Nginx 解决方案:修改linux服务器下Nginx的配置文件,目录为:/usr/local/nginx/conf/nginx.conf, 也可以直接使用命令nginx -t ...
- Programming | 获取图像频域并分解为高低频
1. DCT变换 参考:https://stackoverflow.com/questions/22322427/decomposing-an-image-into-two-frequency-com ...
- multer 基础教程(中文版)
此文档于2016年10月3日翻译时multer的版本是1.2.0,它可能不是最新的! 甚至可能存在翻译错误!你可能需要阅读原版英语README 此文档仅供参考! Multer Multer 是一个 n ...
- not in和not exists区别
如果查询语句使用了not in 那么内外表都进行全表扫描,没有用到索引: 而not extsts 的子查询依然能用到表上的索引. 所以无论那个表大,用not exists都比not in要快. 也就是 ...
- 安装pip-9.0.1-py2.py3-none-any.whl
pip的安装 1.从https://pypi.python.org/pypi/pip#downloads下载所需的.whl文件 2.将下载的文件放入Python的根目录 我的根目录是F:\Python ...
- python中easydict的简单使用
easydict的作用:EasyDict可以使得以属性的方式去访问字典的值! 1. 实例1:获取字典的值 2. 实例2: 设置属性 3. 在深度学习中往往利用easydict建立一个全局的变量
- jQuery 源码解析(七) jQuery对象和DOM对象的互相转换
jQuery对象是一个类数组对象,它保存的是对应的DOM的引用,我们可以直接用[]获取某个索引内的DOM节点,也可以用get方法获取某个索引内的DOM节点,还可以用toArray()方法把jQuery ...