Python

Python函数编程——闭包和装饰器

Python函数编程——闭包和装饰器一、闭包关于闭包,即函数定义和函数表达式位于另一个函数的函数体内(嵌套函数)。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。也就是说,内部函数会在外部函数返回后被执行。而当这个内部函数执行时,它仍然必需访问其外部函数的局部变量、参数以及其他内部函数。这些局部变量、参数和函数声明(最初时)的值是外部函数返回时的值,但也会受到内

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

Python

python实现常见算法

常见算法:一、排序引入1.排序与搜索排序算法(英语:Sortingalgorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。2.排序算法的稳定性稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。18385672(4,1)(3,1)(3,7)(5,6)(3,7)(3,1)如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。不稳定排序算法可能会在相等的键值中改变纪录的相

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

Python

聊聊 Python 的单元测试框架(二):nose 和它的继任者 nose2

作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article一、nosenose是一个第三方单元测试框架,它完全兼容unittest,并且号称是一个更好用的测试框架。那么nose除了具备unittest的所有功能外,还具有哪些优势呢?1.1用例编写用例的编写方式除了编写继承于unittest.TestCase的测试类外,还可以编

系统 2019-09-27 17:54:38 2204

Python

python使用Scrapy框架编写一个抓取书籍信息的爬虫服务

Scrapy是一个开源的Python数据抓取框架,速度快,强大,而且使用简单。来看一个官网主页上的简单并完整的爬虫:虽然只有10行左右的代码,但是它的确是一个完整的爬虫服务:当执行scrapyrunspiderxxx.py命令的时候,Scrapy在项目里查找Spider(蜘蛛️)并通过爬虫引擎来执行它。首先从定义在start_urls里的URL开始发起请求,然后通过parse()方法处理响应。response参数就是返回的响应对象。在parse()方法中,

系统 2019-09-27 17:53:38 2204

Python

python字符串/列表/字典互相转换

python字符串/列表/字典互相转换目录字符串与列表字符串与字典列表与字典字符串与列表字符串转列表1.整体转换str1='helloworld'print(str1.split('这里传任何字符串中没有的分割单位都可以,但是不能为空'))#输出:['helloworld']2.分割str2="helloworld"list2=list(str2)print(list2)#输出:['h','e','l','l','o','','w','o','r','l'

系统 2019-09-27 17:53:33 2204

Python

python粘包问题及socket套接字编程详解

粘包问题TCP协议在传输过程中会出现数据粘包问题讲一下TCP和UDP的区别,都是传数据的协议,没有好坏之说,只是不同的应用需求可能会更好选择哪一个协议TCP:适合传输数量大,需要建立连接,会出现粘包问题,粘包问题可以解决,确定传入的长度,接收同样长度就可以保证一次性传输完UDP:适合传输数据量小,没有粘包,不需要连接,一次性传输,下一次就是新的数据,弊端就是数据丢失,不安全QQ是用什么协议呢?按理应该可以用UDP协议,但是实际用的是TCP协议,这是历史遗留

系统 2019-09-27 17:53:03 2204

Python

python学习——锁

1.锁:Lock(1次放1个)同步锁线程安全,多线程操作时,内部会让所有线程排队处理。如:list/dict/Queue线程不安全+人=>排队处理。需求:a.创建100个线程,在列表中追加8b.创建100个线程v=[]锁-把自己的添加到列表中。-在读取列表的最后一个。解锁以后锁一个代码块:importthreadingimporttimev=[]lock=threading.Lock()deffunc(arg):lock.acquire()#锁的区域---

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

Python

Python多线程threading模块用法实例分析

本文实例讲述了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 2204

Python

python实现自动化上线脚本的示例

程序说明:本程序实现将开发程序服务器中的打包文件通过该脚本上传到正式生产环境(注:生产环境和开发环境不互通)程序基本思路:将开发环境中的程序包拷贝到本地堡垒机将程序包进行解压获得解压后的文件通同步到生产服务器上主要知识点:python库os.system()的基本使用利用python调用xshell命令程序使用方法:pythonaddline.py开发主机ip程序包目标主机ip上传目录上传编号如:pythonaddline.py240/home/shaoj

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

Python

python多线程详解

目录python多线程详解一、线程介绍什么是线程为什么要使用多线程二、线程实现threading模块自定义线程守护线程主线程等待子线程结束多线程共享全局变量互斥锁递归锁信号量(BoundedSemaphore类)事件(Event类)三、GIL(GlobalInterpreterLock)全局解释器锁python多线程详解一、线程介绍什么是线程线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位

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

Python

Python 列表 List

列表List讓Python的資料型態DataType更有彈性。列表中的值稱為元素element或列表項item。列表的定義如下:[item1,item2,item3,...]列表中元素的datatype可為任意項,甚至可以是嵌入Nested列表,例如:['Apple',85,['Big','Small'],4.0]列表可被視為一個集合Set。1.子集合相加>>>A=[1,2,3]>>>B=[4,5,6]>>>C=A+B>>>C[1,2,3,4,5,6]2.

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

Python

python 之 前端开发( jQuery事件、动画效果、.each

11.58事件11.581事件绑定方法与解绑绑定事件://绑定方式一:$('.box1').click(function(){alert('绑定方式一')});​//绑定方式二:$('.box1').on("click",function(){alert('绑定方式一')});​//绑定方式三:$('.box1').bind('click',{'a':'b'}function(e){alert('绑定方式二');console.log(e.data);})

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

Python

selenium2.0中常用的python函数汇总

本文总结分析了selenium2.0中常用的python函数。分享给大家供大家参考,具体如下:新建实例driver=webdriver.Firefox()此处定位均使用的百度首页输入框1.通过标签属性Id查找元素方法:find_element_by_id(element_id)实例:driver.find_element_by_id("kw")2.通过标签属性name查找元素方法:find_element_by_name(element_name)实例:d

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

Python

python 常用模块之——pymysql

pymysqldemo代码样例,暂时先写查询的,增删改后续再添加;通用部分无论是增删改查,都需要先建立数据库连接,创建游标importpymysql#建立一个mysql的conn,返回Connetion对象conn=pymysql.connect(host='localhost',user='root',passwd='p@ssWD',port='3306',db='test')#新建一个游标,默认返还元组,可选DictCursor让查询结果返还dict#

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

Python

Mongodb基本操作与Python连接mongodb并进行基础操作的方法

mongodb是基于分布式文件存储的nosql(非关系型)数据库虽说是nosqldb,butmongodb其中的文档可以是关系型的在mongodb中,表为集合,里面的数据为文档;文档本质就是一条调JSON数据进入mongodb:mongo退出mongodb:exit库操作显示库:showdbs选择或者创建:usellsdb#不管该库是否存在,都会use进入,如何该库不存在,use进去不存入数据退出时,该库不会被创建.所以创建库就use再写入数据.查看所在库

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