UDPUDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP传输数据时有大小限制,每个被传输的数据报必须限定在64KB之内。UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。udp通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活中,"写信"。客户端:fromsocketimportsocket,AF_INET,SOCK_DGRAM#创
系统 2019-09-27 17:57:08 2231
importitertools'''#product笛卡尔积(有放回的抽样排列)foriinitertools.product('ABCD',repeat=2):print(i)''''''#permutations排列(不放回抽样排列)foriinitertools.permutations('ABCD',2):print(i)''''''#combinations组合,没有重复(不返回抽样组合)foriinitertools.combinations(
系统 2019-09-27 17:57:07 2231
1.查看本机系统及python版本#cat/etc/redhat-releaseCentOSrelease6.7(Final)查看CentOSrelease6.7(Final)自带的python版本#python-VPython2.6.6注意,我们不要破坏系统的Python环境,因为几个关键的实用应用程序依赖于系统默认的Python2.6.6,如果破坏了系统的Python环境就会发生很多难以预见的错误,导致要重装系统。2.yum安装开发工具库集及一些额外包
系统 2019-09-27 17:56:57 2231
类装饰器propetyproperty是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值classStudent:def__init__(self,name,birth):self.name=nameself.birth=birth@property#将一个方法伪装成属性defage(self):importtimereturntime.localtime().tm_year-self.birthalex=Student('alex',1930)p
系统 2019-09-27 17:56:49 2231
准备写一个操作Excel脚本却在导入包的时候出现了一个小问题导入包fromTkinterimportTkfromtimeimportsleep,ctimefromtkMessageBoximportshowwarningfromurllibimporturlopenimportwin32com.clientaswin32报错提示Traceback(mostrecentcalllast):File"estock.pyw",line7,inimportwin3
系统 2019-09-27 17:56:04 2231
python有一个用于解析feed的模块:feedparser,feedparser解析各种feed是非常方便的,唯一比较恼火的是遇到一些badurl,经常会导致堵塞,因此需要为feedparser设置一个超时时间。可是feedparser并没有提供这个功能,只好采用其他方法了,具体办法请参看feedparser项目的issue221。其实也很简单,按照上面文档的说明developershavehadtheabilitytosetaglobaltimeou
系统 2019-09-27 17:56:01 2231
使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。先看Python官方文档中对这几个内置函数的描述:bin(x)Convertanintegernumbertoabinarystring.TheresultisavalidPythonexpression.IfxisnotaPythonintobject,ithastodefinean__index__()methodthatreturnsaninteger.oct(x
系统 2019-09-27 17:55:16 2231
本节开始,我们将讨论面向对象编程的三大特征:封装、继承和多态。下面,我们将由简至难,依次讨论封装、继承、多态。一.封装enclosure封装:指隐藏类的实现细节,让使用者不用关心这些细节;目的:让使用者通过尽可能少的方法(或属性)操作对象;如何封装:通过私有属性和方法;私有属性和方法:以双下划线'__'开头,不以双下划线结尾的标识符为私有成员;私有成员只能用此类的方法进行访问和修改扩展:了解java的读者可能知道,java中使用了private、defau
系统 2019-09-27 17:54:10 2231
上集回顾上一节我们学了一些数字的数学运算,了解了运算优先级PMDAS。变量和命名程序输入和运行结果没问题,不过一开始运行的时候产生了出错消息:这条消息的意思是在第5行的“cars_not_driven=cars-drivers"语句中,变量drivers没有被定义。回到程序中查看,确实是赋值变量drivers的语句中错误拼写了该单词,从而只有drives的变量,而没有我们预期的drivers的变量,用起来自然会产生报错。巩固练习1、使用浮点数作为space
系统 2019-09-27 17:52:36 2231
先看map。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。举例说明,比如我们有一个函数a(x)=x*2,要把这个函数作用在一个list[1,2,3,4,5]上,就可以用map()实现如下:复制代码代码如下:>>>defa(x):...returnx*2...>>>map(a,[1,2,3,4,5])[2,4,6,8,10]map传入的第一个参数a,即a函数,当然你也可以不用ma
系统 2019-09-27 17:52:06 2231