在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异主要体现在以下几个方面:1.python3中print是一个内置函数,有多个参数,而python2中print是一个语法结构;2.Python2打印时可以不加括号:print'helloworld',Python3则需要加括号print("helloworld")3.Python2中,input要求输入的字符串必须要加引号,为了避免读取非字符串类型发生的
系统 2019-09-27 17:52:34 1698
Socket的英文原义是“孔”或“插座”。作为BSDUNIX的进程通信机制,取后一种意思。通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电,有的提供110伏交流电,有的
系统 2019-09-27 17:52:33 1698
本文实例讲述了Python多线程threading模块用法。分享给大家供大家参考,具体如下:多线程-threadingpython的thread模块是比较底层的模块,python的threading模块对thread做了一些包装,可以更加方便的被使用。1.使用threading模块单线程执行#coding=utf-8importtimedefsaySorry():print('跑一圈')time.sleep(1)if__name__=="__main__"
系统 2019-09-27 17:52:32 1698
最近学习了python基础,写一下3大排序练练手:复制代码代码如下:'''Createdon2013-8-23@author:codegeek'''//冒泡排序defbubble_sort(seq):foriinrange(len(seq)):forjinrange(i,len(seq)):ifseq[j]
系统 2019-09-27 17:52:28 1698
本文实例讲述了Python进程间通信Queue消息队列用法。分享给大家供大家参考,具体如下:进程间通信-QueueProcess之间有时需要通信,操作系统提供了很多机制来实现进程间的通信。1.Queue的使用可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示下Queue的工作原理:代码如下:#coding=utf-8frommultiprocessingimportQue
系统 2019-09-27 17:52:28 1698
我浏览了下网上关于怎么Python爬虫入门的文章,发现有的还在教人用urllib来发送http请求,这真是有点误人子弟了。本文也不提倡刚开始去学习第三方爬虫框架,我想把要学习的知识简化一些,让入门更快速,更专注。Python爬虫入门:技能真要说Python爬虫需要具备什么知识,那就是你得会Python,哈哈。其他的知识就是你能熟练运用Python的几个第三方库,当然你具备一点htmljavascriptcsshttp协议可以提高你的解决问题的效率,但这是一
系统 2019-09-27 17:52:27 1698
本文实例讲述了Python闭包和装饰器用法。分享给大家供大家参考,具体如下:Python的装饰器的英文名叫Decorator,作用是完成对一些模块的修饰。所谓修饰工作就是想给现有的模块加上一些小装饰(一些小功能,这些小功能可能好多模块都会用到),但又不让这个小装饰(小功能)侵入到原有的模块中的代码里去。闭包1.函数引用#coding=utf-8deftest1():print('Thisistest1!')#调用函数test1()#引用函数ret=test
系统 2019-09-27 17:52:24 1698
安装pydensecrf时报错:(venv)dorothy@dorothy-MS-7A94:~/project/venv/bin$pipinstallpydensecrfCollectingpydensecrfUsingcachedhttps://files.pythonhosted.org/packages/31/5a/1c2ab48e8019d282c128bc5c621332267bb954d32eecdda3ba57306b1551/pydense
系统 2019-09-27 17:52:21 1698
yield的功能类似于return,但是不同之处在于它返回的是生成器。生成器生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭代器不一定是生成器)。如果一个函数包含yield关键字,这个函数就会变为一个生成器。生成器并不会一次返回所有结果,而是每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态,等待下一次的调用。由于生成器也是一个迭代器,那么它就应该支持next方法来获取下一个值。基本操作#通过`yield`
系统 2019-09-27 17:52:18 1698
实现一个支持动态扩容的数组并完成其增删改查#通过python实现动态数组"""数组特点:占用一段连续的内存空间,支持随机(索引)访问,且时间复杂度为O(1)添加元素时间复杂度:O(n)删除元素时间复杂度:O(n)"""classArr:def__init__(self,capacity=10):"""构造函数:paramcapacity:数组最大容量,不指定的话默认为10"""self._capacity=capacityself._size=0#数组有效
系统 2019-09-27 17:52:16 1698