Python - 军军小站|张军博客
Python

python学习手册笔记——38.装饰器

00.装饰是未函数和类指定管理代码的一种方式。装饰器本身的形式是处理其他的可调用对象的可调用的对象。*函数装饰器在函数定义的时候进行名称重绑定,提供一个逻辑层来管理函数和方法或随后对它们的调用。*类装饰器在类定义的时候进行名称重绑定,提供一个逻辑层来管理,或管理随后调用它们所创建的示例。01.管理调用和实例*函数装饰器安装包装器对象,以在需要的时候拦截随后的函数调用并处理它们*类装饰器安装包装器对象,以在需要的时候拦截随后的实例创建调用并处理它们。02.装

系统 2019-09-27 17:57:31 2464

Python

iOS私有API检测扫描思路以及工具开发(Python3 + Django)

风险点1、class-dump有些文件会报错,需要查看下2、mach-o文件中的依赖除了系统,是不是还需要dump第三方其他的库进行扫描@xpath3、私有api在公开的Framework及私有的PrivateFramework都有。4、9.2.5的iOS系统对应的Xcode8是有docset的,后面的Xcode都有新的文件格式了,下面有介绍,需要自己分析,但是数据结构有点乱,可能我我还没悟出来。。。。。。前言最近SDK的开发,经常会给到安全组扫描安全漏洞

系统 2019-09-27 17:55:41 2464

Python

python logging日志模块-自定义log

自定义log#coding=utf-8importdatetimeclassLogs:debug=1deflogwr(self,logdd):tms=datetime.datetime.now().strftime("%Y-%m-%d")name='wenshu_{0}.log'.format(tms)tm=datetime.datetime.now().strftime("%Y-%m-%d%H:%M")line="{0}:{1}".format(tm,l

系统 2019-09-27 17:46:48 2464

Python

python实现观察者模式

python实现观察者模式前言有时,我们希望在一个对象的状态改变时更新另外一组对象。在MVC模式中有这样一个非常常见的例子,假设在两个视图(例如,一个饼图和一个电子表格)中使用同一个模型的数据,无论何时更改了模型,都需要更新两个视图。这就是观察者设计模式要处理的问题(请参考[Eckel08,第213页])。观察者模式描述单个对象(发布者,又称为主持者或可观察者)与一个或多个对象(订阅者,又称为观察者)之间的发布—订阅关系。在MVC例子中,发布者是模型,订阅

系统 2019-09-27 17:57:53 2463

Python

python pandas cumsum求累计次数的用法

本文主要是针对cumsum函数的一些用法。具体应用场景看下面的数据集。第一列是userID,第二列是安装的时间,第三列是安装的次数。我们现在想做一件事情。就是统计用户在某一天前累计的安装次数。譬如,对userID为20的用户,问在16天前,其安装次数为多少?答案应该是4次。用python的实现也很简单。又譬如,userID为44在19天前安装的次数,那就应该是1+3+1+1=6次。具体代码:(假设数据集为data)由于是针对每个userID,所以是需要将u

系统 2019-09-27 17:54:42 2463

Python

python opencv对图像进行旋转且不裁剪图片的实现方法

最近在做深度学习时需要用到图像处理相关的操作,在度娘上找到的图片旋转方法千篇一律,旋转完成的图片都不是原始大小,很苦恼,于是google到歪果仁的网站扒拉了一个方法,亲测好用,再次嫌弃天下文章一大抄的现象,虽然我也是抄歪果仁的。废话不多说了,直接贴代码了。defrotate_bound(image,angle):#grabthedimensionsoftheimageandthendeterminethe#center(h,w)=image.shape[:

系统 2019-09-27 17:56:27 2462

Python

python利用beautifulSoup实现爬虫

以前讲过利用phantomjs做爬虫抓网页//www.jb51.net/article/55789.htm是配合选择器做的利用beautifulSoup(文档:http://www.crummy.com/software/BeautifulSoup/bs4/doc/)这个python模块,可以很轻松的抓取网页内容#coding=utf-8importurllibfrombs4importBeautifulSoupurl='http://www.baidu.

系统 2019-09-27 17:56:00 2462

Python

详解Python3 对象组合zip()和回退方式*zip

zip即将多个可迭代对象组合为一个可迭代的对象,每次组合时都取出对应顺序的对象元素组合为元组,直到最少的对象中元素全部被组合,剩余的其他对象中未被组合的元素将被舍弃。keys=['one','two','three']values=[1,2,3]d=zip(keys,values)print(list(d))示例结果:[('one',1),('two',2),('three',3)]可以看到我们由zip模拟了一个类似字典的一一对应的元组迭代对象,并将其转化

系统 2019-09-27 17:55:52 2461

Python

python中list方法详解说明

使用示例:1.取值2.取索引3.修改4.新增4-1列表末尾追加list.append4-2在指定位置添加数据4-3list.entend把一个列表的内容追加到另一个列表的末尾5.删除5-1list.remove删除第一次出现的指定的数据,如果数据不存在,程序会报错5-2list.pop不带参数删除列表末尾的数据5-3list.pop带参数删除指定索引位置的数据5-4清空整个列表list.chear5-5dellist[索引]本质上是把一个变量从内存中删除,

系统 2019-09-27 17:57:22 2460

Python

python把ipynb文件转换成pdf文件过程详解

这两天一直在做课件,我个人一直不太喜欢PPT这个东西……能不用就不用,我个人特别崇尚极简风。谁让我们是程序员呢,所以就爱上了Jupyter写课件,讲道理markdown也是个非常不错的写书格式啊。安装Jupyter其实非常简单,你会python就应该会用jupyter,起码简单的pipinstalljupyter,jupyternotebook要会对伐~好那接下来就是使用jupyter了,启动jupyter后,使用浏览器访问相应IP:Port就可以使用了。

系统 2019-09-27 17:56:46 2460

Python

跟老齐学Python之集合(set)

回顾一下已经了解的数据类型:int/str/bool/list/dict/tuple还真的不少了.不过,python是一个发展的语言,没准以后还出别的呢.看官可能有疑问了,出了这么多的数据类型,我也记不住呀,特别是里面还有不少方法.不要担心记不住,你只要记住爱因斯坦说的就好了.爱因斯坦在美国演讲,有人问:“你可记得声音的速度是多少?你如何记下许多东西?”爱因斯坦轻松答道:“声音的速度是多少,我必须查辞典才能回答。因为我从来不记在辞典上已经印着的东西,我的记

系统 2019-09-27 17:56:36 2460

Python

和孩子一起学习python之变量命名规则

变量命名规则下面是关于变量名(也称为标识符)的一些规则必须以一个字母或一个下划线字符开头。后面可以使用一个字母、数字或下划线字符的序列,长度不限。字母可以是大写或小写,大小写是不同的。也就是说,Ax不同于aX。数字可以是从0到9(包括0到9)的任意数字字符。除了字母、数字和下划线字符,不能使用其他字符。空格、标点符号和其他字符在变量名中都是不允许的。唯一允许出现的特殊字符是下划线字符。也许你不知道这是什么,下面给出几个例子:First_number=15S

系统 2019-09-27 17:51:07 2460

Python

Python读取图片EXIF信息类库介绍和使用实例

首先要介绍的是PythonImagingLibrary,使用方法如下:复制代码代码如下:fromPILimportImagefromPIL.ExifTagsimportTAGSdefget_exif_data(fname):"""GetembeddedEXIFdatafromimagefile."""ret={}try:img=Image.open(fname)ifhasattr(img,'_getexif'):exifinfo=img._getexif(

系统 2019-09-27 17:47:39 2460

Python

简单了解python gevent 协程使用及作用

简介没有切换开销。因为子程序切换不是线程切换,而是由程序自身控制,没有线程切换的开销,因此执行效率高,不需要锁机制。因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好了,所以执行效率比多线程高很多Python对协程的支持还非常有限,用在generator中的yield可以一定程度上实现协程。yield传统的生产者-消费者模型是一个线程写消息,一个线程取消息,通过锁机制控制队列和等待,但一不小心就可能死锁。如果改用协程,

系统 2019-09-27 17:47:08 2460

Python

Python爬虫,爬取腾讯漫画实战

先上个爬取的结果图最后的结果为每部漫画按章节保存运行环境IDEVS2019Python3.7Chrome、ChromeDriverChrome和ChromeDriver的版本需要相互对应先上代码,代码非常简短,包含空行也才50行,多亏了python强大的库importosimporttimeimportrequestsfromseleniumimportwebdriverfromlxmlimportetreedefgetChapterUrl(url):he

系统 2019-09-27 17:51:22 2459