搜索到与相关的文章
Python

Python yield与实现方法代码分析

yield的功能类似于return,但是不同之处在于它返回的是生成器。生成器生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭代器不一定是生成器)。如果一个函数包含yield关键字,这个函数就会变为一个生成器。生成器并不会一次返回所有结果,而是每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态,等待下一次的调用。由于生成器也是一个迭代器,那么它就应该支持next方法来获取下一个值。基本操作#通过`yield`

系统 2019-09-27 17:52:18 2204

Python

C++、python和go语言实现的简单客户端服务器代码示例

工作中用到了C/S模型,所做的也无非是给服务器发数据,但开发阶段会遇到程序自身的回环测试,需要用到简单的服务端以便验证数据发送的正确性。写软件用C++,跑测试用python,这段时间也刚好看go语言,所以都要有demo。以下三组程序实现的功能相同,这里一起做下总结。一、C++实现Boost.Asio是一个跨平台的C++库,它用现代C++方法为网络和底层I/O程序提供了一致的异步I/O模型。为了跨平台,我用boost库实现,具体如下。服务端代码:复制代码代码

系统 2019-09-27 17:51:43 2204

Python

利用python在大量数据文件下删除某一行的例子

python修改大数据文件时,如果全加载到内存中,可能会导致内存溢出。因此可借用如下方法,将分件分段读取修改。withopen('file.txt','r')asold_file:withopen('file.txt','r+')asnew_file:current_line=0#定位到需要删除的行whilecurrent_line<(3-1):#(del_line-1)old_file.readline()current_line+=1#当前光标在被删除

系统 2019-09-27 17:51:18 2204

Python

Windows 10 2019五月更新让Python安装和使用变得更加容易

尽管很多人想要学习编程,但“万事开头难”这个道理,还是会将不少人劝退。你在网上找到的大多数教程,都既定假设用户已经知道了如何执行基本操作,甚至直接跳到服务器管理等进阶内容。好消息是,在Windows102019五月更新(Version1903)中,微软为想要学习Python编程的用户,提供了一个更加便捷的部署选项。python.jpg(题图via:OnMSFT)据悉,Python是一种易于上手和阅读的编程语言,功能性毋庸置疑,但并非Windows自带。此前

系统 2019-09-27 17:51:08 2204

Python

python for和else语句趣谈

老婆给当程序员的老公打电话:“下班顺路买一斤包子带回来,如果看到卖西瓜的,买一个。”当晚,程序员老公手捧一个包子进了家门……老婆怒道:“你怎么就买了一个包子?”老公答曰:“因为看到了卖西瓜的。”程序员买西瓜的笑话可能大部分读者都知道,今天写的这篇文章和这个笑话有一定的关系。任何编程语言都提供了if...else...语句,表示如果(if)满足条件就做某件事,否则(else)就做另外一件事:ifa==b:print("true")else:print("fa

系统 2019-09-27 17:50:46 2204

Python

基于python的Paxos算法实现

理解一个算法最快,最深刻的做法,我觉着可能是自己手动实现,虽然项目中不用自己实现,有已经封装好的算法库,供我们调用,我觉着还是有必要自己亲自实践一下。这里首先说明一下,python这种动态语言,对不熟悉的人可能看着比较别扭,不像java那样参数类型是固定的,所以看着会有些蛋疼。这里环境用的是python2.7。classMessage:#commandMSG_ACCEPTOR_AGREE=0#追随者约定MSG_ACCEPTOR_ACCEPT=1#追随者接受

系统 2019-09-27 17:49:27 2204

Python

day004-python运算符与基本数据类型

一、运算符1、算术运算符:主要用于两个对象算数计算(加减乘除等运算)运算符:+:两个对象相加-:得到负数或是一个数减去另一个数*:两个数相乘或是返回一个被重复若干次的字符串/:x除以y%:返回除法的余数**:返回x的y次幂//:返回商的整数部分2、比较(关系)运算符:用于两个对象比较(判断是否相等、大于等运算)运算符:==:比较对象是否相等!=:比较两个对象是否不相等<>:比较两个对象是否不相等>:返回x是否大于y<:返回x是否小于y。所有比较运算符返回1

系统 2019-09-27 17:48:50 2204

Python

python数据结构和GIL及多进程

一数据结构和GIL1queue标准库queue模块,提供FIFO的queue、LIFO的队列,优先队列Queue类是线程安全的,适用于多线程间安全的交换数据,内部使用了Lock和Condition为什么说容器的大小不准确,其原因是如果不加锁,是不可能获取到准确的大小的,因为你刚读取了一个大小,还没取走,有可能被就被其他线程修改了,queue类的size虽然加了锁,但是依然不能保证立即get,put就能成功,因为读取大小和get,put方法是分来的。2GIL

系统 2019-09-27 17:48:10 2204

Python

软件测试学习教程——Python实现反射机制

序列化(Serialization)是将对象的信息转换为可以存储或传输的形式,后续还可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。在python中也可以进行序列化相关的操作,只是序列化的时候需要将对象保存为一个字典的类型。对于Python内置的数据类型(如str,unicode,int,float,bool,None,list,tuple,dict),可以直接进行序列化/反序列化处理;对于自定义类的对象进行序列化和反序列化时,需要我们自己定义

系统 2019-09-27 17:47:18 2204