对于每一个学习Python的同学,想必对@符号一定不陌生了,正如你所知,@符号是装饰器的语法糖,@符号后面的函数就是我们本文的主角:装饰器。装饰器放在一个函数开始定义的地方,它就像一顶帽子一样戴在这个函数的头上。和这个函数绑定在一起。在我们调用这个函数的时候,第一件事并不是执行这个函数,而是将这个函数做为参数传入它头顶上这顶帽子,这顶帽子我们称之为装饰器。曾经我在刚转行做程序员时的一次的面试中,被面试官问过这样的两个问题:1、你都用过装饰器实现过什么样的功
系统 2019-09-27 17:55:11 2332
背景最近在测试一款软件的关闭第三方窗口的功能,感觉实现应该挺简单的。所以就尝试了。由于说它的实现是靠c++实现的,本人对c++实在不在行,但是python的第三方库实际上是封装了一套win32的api的所以我们还是可以依靠python来实现这个的。实现直接贴代码吧很简单#-*-coding:utf-8-*-fromwin32guiimport*importwin32guiimportwin32confromtimeimportsleepdeffoo(hwn
系统 2019-09-27 17:53:51 2332
pythoneval函数功能:将字符串str当成有效的表达式来求值并返回计算结果。函数定义:eval(expression,globals=None,locals=None)将字符串str当成有效的表达式来求值并返回计算结果。globals和locals参数是可选的,如果提供了globals参数,那么它必须是dictionary类型;如果提供了locals参数,那么它可以是任意的map对象。python的全局名字空间存储在一个叫globals()的dict
系统 2019-09-27 17:53:18 2332
在做深度学习的时候,难免会用到摄像头采集图像。在这个就会用到python调用摄像头+opencv图像处理。视频图像的处理和单幅图片处理是一样的,视频就是很多单幅图像连续播放。每秒播放(采集)的图片数量叫帧率。importcv2#########图像读取部分cap=cv2.VideoCapture('2.wmv')#调用目录下的视频#cap=cv2.VideoCapture(0)#调用摄像头‘0’一般是打开电脑自带摄像头,‘1’是打开外部摄像头(只有一个摄像
系统 2019-09-27 17:48:52 2332
使用socket实现tcp通信,需导入socket模块1、服务端主要步骤:(1)创建socket:socket.socket(family=AF_INET,type=SOCK_STREAM,proto=0,fileno=None)family:AF_INET,AF_INET6,AF_UNIX,AF_CAN,AF_PACKET,AF_RDStype:SOCK_STREAM,SOCK_DGRAM,SOCK_RAW,或者其他SOCK_*proto:一般使用默认值
系统 2019-09-27 17:48:40 2332
遍历Redis数据库中有以格式为PREFIX_*的按照key-value方式存储的key,并打印其值.遍历使用SCAN,因为KEYSPREFIX_*可能会造成Redis长时间阻塞。查询使用pipeline减少交互,提高效率。importredisimporthiredispool=redis.ConnectionPool(host='127.0.0.1',port=6379,db=0)r=redis.Redis(connection_pool=pool)p
系统 2019-09-27 17:47:28 2332
C代码中经常使用条件编译,python中该怎么用呢?Python没有像C或C或Java甚至Java一样编译,python文件被“即时”编译,您可以将其视为类似于Basic或Perl的解释语言只需使用if语句,就可以执行与条件编译等效的操作:我这里写了一个例子,希望对有需求的同学有点帮助:1#python223globalFLAG4FLAG=True5ifFLAG:6deftest1():7print('helloworld1')8else:9deftest
系统 2019-09-27 17:47:20 2332
(2019.7.26)不断更新中……【python】Leetcode(DataStructure/Algorithm)【python】Leetcode(DynamicProgramming)【python】Leetcode(Map)【python】Leetcode(String)【python】Leetcode(Tree)【python】Coding(Interview)文章目录数字260.只出现一次的数字III(字典/位运算)136.只出现一次的数字(字
系统 2019-09-27 17:47:04 2332
一概述1为什么要序列化因为TCP/IP协议只支持字节数组的传输,不能直接传对象。对象序列化的结果一定是字节数组!当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。2序列化和反序列化序列化(serialization):及有序的列,数据转换成二进制的有序的过程协议:规定序列化和反序列化的转换方式及就是把数据
系统 2019-09-27 17:47:02 2332
本文实例讲述了python实现的接收邮件功能。分享给大家供大家参考,具体如下:一简介本代码实现从网易POP3服务器接收邮件二代码importpoplibimportreimporttkinterclassWindow:def__init__(self,root):label1=tkinter.Label(root,text='POP3')label2=tkinter.Label(root,text='Port')label3=tkinter.Label(r
系统 2019-09-27 17:46:50 2332