Python

python函数修饰符@的使用方法解析

python函数修饰符@的作用是为现有函数增加额外的功能,常用于插入日志、性能测试、事务处理等等。创建函数修饰符的规则:(1)修饰符是一个函数(2)修饰符取被修饰函数为参数(3)修饰符返回一个新函数(4)修饰符维护被维护函数的签名例子1:被修饰函数不带参数deflog(func):defwrapper():print('log开始...')func()print('log结束...')returnwrapper@logdeftest():print('te

系统 2019-09-27 17:54:36 2158

Python

python多线程操作实例

一、python多线程因为CPython的实现使用了GlobalInterpereterLock(GIL),使得python中同一时刻只有一个线程在执行,从而简化了python解释器的实现,且python对象模型天然地线程安全。如果你想你的应用程序在多核的机器上使用更好的资源,建议使用multiprocessing或concurrent.futures.processpoolexecutor。但是如果你的程序是IO密集型,则使用线程仍然是很好的选择。二、p

系统 2019-09-27 17:54:03 2158

Python

python并发编程多进程之守护进程原理解析

守护进程主进程创建子进程目的是:主进程有一个任务需要并发执行,那开启子进程帮我并发执行任务主进程创建子进程,然后将该进程设置成守护自己的进程关于守护进程需要强调两点:其一:守护进程会在主进程代码执行结束后就终止其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError:daemonicprocessesarenotallowedtohavechildren如果我们有两个任务需要并发执行,那么开一个主进程和一个子进程分别去执行就ok了,如果

系统 2019-09-27 17:52:46 2158

Python

线程和进程的区别及Python代码实例

在程序猿的世界中,线程和进程是一个很重要的概念,很多人经常弄不清线程和进程到底是什么,有什么区别,本文试图来解释一下线程和进程。首先来看一下概念:进程(英语:process),是计算机中已运行程序的实体。进程为曾经是分时系统的基本运作单位。在面向进程设计的系统(如早期的UNIX,Linux2.4及更早的版本)中,进程是程序的基本执行实体;在面向线程设计的系统(如当代多数操作系统、Linux2.6及更新的版本)中,进程本身不是基本运行单位,而是线程的容器。程

系统 2019-09-27 17:52:28 2158

Python

Python多线程编程(七):使用Condition实现复杂同步

目前我们已经会使用Lock去对公共资源进行互斥访问了,也探讨了同一线程可以使用RLock去重入锁,但是尽管如此我们只不过才处理了一些程序中简单的同步现象,我们甚至还不能很合理的去解决使用Lock锁带来的死锁问题。所以我们得学会使用更深层的解决同步问题。Python提供的Condition对象提供了对复杂线程同步问题的支持。Condition被称为条件变量,除了提供与Lock类似的acquire和release方法外,还提供了wait和notify方法。使用

系统 2019-09-27 17:50:56 2158

Python

Python的异常处理机制和常见异常类型

异常1.定义:运行时检测到的错误。2.现象:当异常发生时,程序不会再向下执行,而转到函数的调用语句。3.常见异常类型:–名称异常(NameError):变量未定义。–类型异常(TypeError):不同类型数据进行运算。–索引异常(IndexError):超出索引范围。–属性异常(AttributeError):对象没有对应名称的属性。–键异常(KeyError):没有对应名称的键。–为实现异常(NotImplementedError):尚未实现的方法。–

系统 2019-09-27 17:50:45 2158

Python

python Django里CSRF 对应策略详解

CSRF(CrossSiteRequestForgery,跨站域请求伪造)是一种网络的×××方式。我的理解是,比如你访问过招商银行的网站并登陆之后,你的cookie信息暂时不会失效,这时,hacker通过各种方式诱导你访问他给你提供的网站等链接,让你在同一浏览器访问hacker给你的网站时,那么他给你提供的网站里面有直接有向招商银行提交转账信息的请求,这时,这个转账请求会借用你刚刚登陆过招商银行的cookie信息,来使用的你的身份进行合法的转账。那么为了减

系统 2019-09-27 17:50:35 2158

Python

Python中的上下文管理器相关知识详解

前言with这个关键字,对于每一学习Python的人,都不会陌生。操作文本对象的时候,几乎所有的人都会让我们要用withopen,这就是一个上下文管理的例子。你一定已经相当熟悉了,我就不再废话了。withopen('test.txt')asf:printf.readlines()什么是上下文管理器?基本语法withEXPRasVAR:BLOCK先理清几个概念1.上下文表达式:withopen('test.txt')asf:2.上下文管理器:open('te

系统 2019-09-27 17:50:17 2158

Python

Python中的Matplotlib模块入门教程

1关于Matplotlib模块Matplotlib是一个由JohnHunter等开发的,用以绘制二维图形的Python模块。它利用了Python下的数值计算模块Numeric及Numarray,克隆了许多Matlab中的函数,用以帮助用户轻松地获得高质量的二维图形。Matplotlib可以绘制多种形式的图形包括普通的线图,直方图,饼图,散点图以及误差线图等;可以比较方便的定制图形的各种属性比如图线的类型,颜色,粗细,字体的大小等;它能够很好地支持一部分Te

系统 2019-09-27 17:49:31 2158

Python

python浅拷贝和深度拷贝

通过代码和结果来理解浅拷贝和深度拷贝,先来看看python中有那些常见的浅拷贝方法:1.使用数据类型本身的构造器:l1=[1,2,3]l2=list(l1)l1==l2#Truel1isl2#False#l2就是l1的浅拷贝,set、dict与上面的浅拷贝一致t1=(1,2,3)t2=tuple(t1)t1==t2#Truet1ist2#True#由于tuple不可变,tuple返回一个指向相同元组的引用,与list、set、dict不一样2.通过切片操作

系统 2019-09-27 17:48:09 2158

Python

Python编程里面函数的最难知识点, 迭代器与生成器!

15.迭代器:工具1.可迭代对象:官方声明,只要具有__iter__方法的就是可迭代对象当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢?学习Python中有不明白推荐加入交流群号:790921645群里有志同道合的小伙伴,互帮互助,群里有不错的视频学习教程和PDF!list,dict,str,set,tuple–可迭代对象,使用灵活#方法一:list.__iter__()dict.__iter__()#方法二:查看源代码#方法三:

系统 2019-09-27 17:47:41 2158

Python

用Python帮你上马,哪里无码打哪里

目录0引言1环境2需求分析3代码实现4代码全景展示5后记0引言所谓的像素图,就是对图像做一个颗粒化的效果,使其产生一种妙不可言的朦胧感。费话不多说,先来看一张效果图。▲效果图▲原图怎么样,效果还不错吧?现在,我们用Python来实现这种像素化的效果。1环境操作系统:WindowsPython版本:3.7.32需求分析一个最简单的实现思路,在打开图片后,把图片分割成一些像素块,再对这些像素块中的图像信息进行处理(修改图像中的RGB值)即可。这里我们使用Num

系统 2019-09-27 17:47:25 2158

Python

Python Selenium 自动配置zabbix邮箱报警功能

介绍:在上一篇博客中写了关于zabbix配置邮箱报警功能,但由于配置过程十分繁琐,这里我写了一个自动化配置的脚本(pythonselenium模块)。直接运行脚本会提高很多效率!实验环境:1.python3.72.selenium模块3.PyCharm开发软件实验步骤一、zabbix服务端和代理端安装,配置温馨提示:具体步骤参考博客https://blog.51cto.com/13760351/2431576二、zabbix服务web配置邮箱报警编写sel

系统 2019-09-27 17:47:13 2158

Python

python中的编码知识整理汇总

问题在平时工作中,遇到了这样的错误:UnicodeDecodeError:'ascii'codeccan'tdecodebyte想必大家也都碰到过,很常见。于是决定对python的编码做一个整理和学习。基础知识在python2.x中,有两种数据类型,unicode和str,这两个都是basestring的子类>>>a='中'>>>type(a)>>>isinstance(a,basestring)True>>>a=u'中'>>>type(a)>>>isin

系统 2019-09-27 17:38:31 2158

Python

python 之 Django框架(orm单表查询、orm多表查询、聚合查询

12.329orm单表查询importosif__name__=='__main__':#指定当前py脚本需要加载的Django项目配置信息os.environ.setdefault("DJANGO_SETTINGS_MODULE","orm_demo.settings")importdjangodjango.setup()#启动Django项目fromapp01importmodels#返回QuerySet对象的方法:ret=models.Book.ob

系统 2019-09-27 17:56:39 2157