粘包问题TCP协议在传输过程中会出现数据粘包问题讲一下TCP和UDP的区别,都是传数据的协议,没有好坏之说,只是不同的应用需求可能会更好选择哪一个协议TCP:适合传输数量大,需要建立连接,会出现粘包问题,粘包问题可以解决,确定传入的长度,接收同样长度就可以保证一次性传输完UDP:适合传输数据量小,没有粘包,不需要连接,一次性传输,下一次就是新的数据,弊端就是数据丢失,不安全QQ是用什么协议呢?按理应该可以用UDP协议,但是实际用的是TCP协议,这是历史遗留
系统 2019-09-27 17:53:03 2068
原文链接:https://www.numpy.org.cn/本节内容:数组的创建数组操作(获取数组属性,数组运算,数组复制,数组展开等等)获取数组特定元素1、创建数组(1)常用的创建一维数组的方式#可以将任意类型的序列(列表、元组、字典、集合、字符串)传递给np.array()a1=np.array([1,2,3,4])#传递列表a2=np.array((1,2,3,4))#传递元组a3=np.array([1,2,3,4],dtype=float)#在创
系统 2019-09-27 17:52:35 2068
在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异主要体现在以下几个方面:1.python3中print是一个内置函数,有多个参数,而python2中print是一个语法结构;2.Python2打印时可以不加括号:print'helloworld',Python3则需要加括号print("helloworld")3.Python2中,input要求输入的字符串必须要加引号,为了避免读取非字符串类型发生的
系统 2019-09-27 17:52:30 2068
我浏览了下网上关于怎么Python爬虫入门的文章,发现有的还在教人用urllib来发送http请求,这真是有点误人子弟了。本文也不提倡刚开始去学习第三方爬虫框架,我想把要学习的知识简化一些,让入门更快速,更专注。Python爬虫入门:技能真要说Python爬虫需要具备什么知识,那就是你得会Python,哈哈。其他的知识就是你能熟练运用Python的几个第三方库,当然你具备一点htmljavascriptcsshttp协议可以提高你的解决问题的效率,但这是一
系统 2019-09-27 17:52:27 2068
1、python装饰器最基础的函数1defsum1():2sum=1+23print(sum)4sum1()查看函数执行用了多长时间,写了几句代码插进去了:1importtime23defsum1():4start=time.clock()5sum=1+26print(sum)7end=time.clock()8print("timeused:",end-start)910sum1()可是随着继续翻看,对越来越多的函数感兴趣了,都想看下他们的运行时间如何,
系统 2019-09-27 17:52:26 2068
本文中,我将尝试展示用Docker开发python应用(主要是Web应用)的可行方法。虽然我本人专注于Python的Flask微框架,但本文目的是演示如何通过Docker更好地开发和共享应用程序,(由任何语言和框架开发的应用程序)。Docker通过封装依赖项,大大减少了开发环境和正式产品的差距。大多数Python开发人员在开发中使用virtualenv。它提供了一种易用的机制让应用程序使用自己专用的依赖项,这些依赖项可能与在其它应用程序或操作系统存在冲突(
系统 2019-09-27 17:50:28 2068
创建类Python类使用class关键字来创建。简单的类的声明可以是关键字后紧跟类名:复制代码代码如下:classClassName(bases):'classdocumentationstring'#'类文档字符串'class_suite#类体实例化通过类名后跟一对圆括号实例化一个类复制代码代码如下:mc=MyClass()#instantiateclass初始化类‘int()'构造器def__int__(self):pass注意:self类似Java的
系统 2019-09-27 17:50:12 2068
理解新概念PythonV2.2中引入了迭代器的思想。唔,这并不十分正确;这种思想的“苗头”早已出现在较老的函数xrange()以及文件方法.xreadlines()中了。通过引入yield关键字,Python2.2在内部实现的许多方面推广了这一概念,并使编程定制迭代器变得更为简单(yield的出现使函数转换成生成器,而生成器反过来又返回迭代器)。迭代器背后的动机有两方面。将数据作为序列处理通常是最简单的方法,而以线性顺序处理的序列通常并不需要都同时实际存在
系统 2019-09-27 17:49:57 2068
s与==区别:is用于判断两个变量引用对象是否为同一个,==用于判断引用变量的值是否相等。aisb相当于id(a)==id(b),id()能够获取对象的内存地址。如果a=10;b=a;则此时a和b的内存地址一样的;但当a=[1,2,3];另b=a[:]时,虽然a和b的值一样,但内存地址不一样。如果此时定义a=10、b=10,然后再对比aisb会发现返回的结果是True,这是因为在Python中会实现创建一个小型的整形池,范围为[-5,256],为这些整形开
系统 2019-09-27 17:49:44 2068
环境spyder(python3.6)代码:fromflaskimportFlask,requestimportjsonimportsysdefaultencoding='utf-8'importloggingdeftt(name,age):result_str="%s今年%s岁"%(name,age)returnresult_strapp=Flask(__name__)@app.route("/test_1.0",methods=["GET"])defc
系统 2019-09-27 17:49:36 2068