函数也是对象要理解Python装饰器,首先要明白在Python中,函数也是一种对象,因此可以把定义函数时的函数名看作是函数对象的一个引用。既然是引用,因此可以将函数赋值给一个变量,也可以把函数作为一个参数传递或返回。同时,函数体中也可以再定义函数。装饰器本质可以通过编写一个纯函数的例子来还原装饰器所要做的事。defdecorator(func):defwrap():print("Doingsometingbeforeexecutingfunc()")fun
系统 2019-09-27 17:55:37 1785
前言学pytest就不得不说fixture,fixture是pytest的精髓所在,就像unittest中的setup和teardown一样,如果不学fixture那么使用pytest和使用unittest是没什么区别的(个人理解)。fixture用途1.做测试前后的初始化设置,如测试数据准备,链接数据库,打开浏览器等这些操作都可以使用fixture来实现2.测试用例的前置条件可以使用fixture实现3.支持经典的xunitfixture,像unitte
系统 2019-09-27 17:54:47 1785
学习器在测试集上的误差我们通常称作“泛化误差”。要想得到“泛化误差”首先得将数据集划分为训练集和测试集。那么怎么划分呢?常用的方法有两种,k折交叉验证法和自助法。介绍这两种方法的资料有很多。下面是k折交叉验证法的python实现。##一个简单的2折交叉验证fromsklearn.model_selectionimportKFoldimportnumpyasnpX=np.array([[1,2],[3,4],[1,3],[3,5]])Y=np.array([
系统 2019-09-27 17:54:40 1785
说明:本文为博主原创文章,未经博主允许不得转载。如果代码有不懂的,欢迎与我探讨!邮箱:1103540209@qq.comgithub地址:https://github.com/wstchhwp文章目录1.Matplotlib基本概念2.Matplotlib三层结构容器层辅助显示层图像层总结3.plt的基本用法3.1Figure对象3.2plot的使用3.3如何在同一个figure内部设置多个图片3.4如何调整subplot的间距4.参考可视化是在整个数据挖
系统 2019-09-27 17:54:39 1785
背景:网络传输层中,一般采用TCP协议,如果要建立连接,客户端会先发送syn包请求,服务器接收,接收后,再传递给客户端ack,syn包,这个时候,客户端再次回应,传回ack包。可是问题就出在,如果我是客户端,只发送一个请求syn包,然后第三次握手的时候,不再往回传ack包,此时服务端是不是就要等待?在等待的时间里,我是不是可以伪造更多的请求,从而不断消耗服务器的资源,然后直到最后服务器停止服务为止?上述这种攻击就是syn泛洪攻击。python中scapy库
系统 2019-09-27 17:54:25 1785
今天写这个,要用python去除字符串中的换行符并写入文件,网上查阅,就一句代码replace("\n",""),加上之后,搞了半天,还是不对。以上是我今天遇到的问题,以下是解决方案。本地测试是window系统,正式用的时候是unix服务器。两者对换行符具体有什么差别我也不是很清楚。于是将字符串写入的文件用notepad++打开,显示行尾符(如何用notepad++显示行尾符自己百度),发现是CR,所以将代码改为replace("\r",""),完美解决总
系统 2019-09-27 17:53:39 1785
之前写了一些python的内容,感觉没有逻辑。今日看见课程的目录,突然想把框架,加自己的总结开始重写python入门。。。。。。好吧,我们还是废话不多说首先python回车(请自己装好python),这里我们不考虑你不会装。。。。print(112)print('你好')有什么区别?是的:print(112)直接输出112;print('你好')输出你好。。。。是不是等于没有说?print(1+1+2)是不是等于4,而不是输出1+1+2?#########
系统 2019-09-27 17:53:27 1785
最近要写一款基于被动式的漏洞扫描器,因为被动式是将我们在浏览器浏览的时候所发出的请求进行捕获,然后交给扫描器进行处理,本来打算自己写这个代理的,但是因为考虑到需要抓取https,所以最后找到Mitmproxy这个程序。安装方法:pipinstallmitmproxy接下来通过一个案例程序来了解它的使用,下面是目录结构sproxy|utils|__init__.py|parser.py|sproxy.pysproxy.py代码#coding=utf-8fro
系统 2019-09-27 17:50:22 1785
文章目录1用python-pip安装pandas2用pycharm安装pandas3使用anaconda自带的pandas1用python-pip安装pandas首先确认自己的Python版本和pip版本,在终端执行:python--versionpython3--versionpip--version如果出现这个错误,说明pip没有安装:Theprogram'pip'iscurrentlynotinstalled.Youcaninstallitbytyp
系统 2019-09-27 17:49:51 1785
文件操作是开发中经常遇到的场景,那么如何判断一个对象是文件对象呢?下面我们总结了3种常见的方法。方法1:比较类型第一种方法,就是判断对象的type是否为file>>>fp=open(r"/tmp/pythontab.com")>>>type(fp)>>>type(fp)==fileTrue注意:该方法对于从file继承而来的子类不适用,看下面的实例classfileDetect(file):pass#中间代码无所谓,直接跳过不处理fp2=fileDetec
系统 2019-09-27 17:49:34 1785