本文实例讲述了Python装饰器decorator用法。分享给大家供大家参考。具体分析如下:1.闭包(closure)闭包是Python所支持的一种特性,它让在非globalscope定义的函数可以引用其外围空间中的变量,这些外围空间中被引用的变量叫做这个函数的环境变量。环境变量和这个非全局函数一起构成了闭包。复制代码代码如下:defouter(x):y=[1,2,3]definner():printxprintyreturninnerx=5#这个x没有被
系统 2019-09-27 17:54:34 1966
1.作用将类方法转换为类属性,可以用.直接获取属性值或者对属性进行赋值2.实现方式使用property类来实现,也可以使用property装饰器实现,二者本质是一样的。多数情况下用装饰器实现。classStudent(object):@propertydefscore(self):returnself._score@score.setterdefscore(self,value):ifnotisinstance(value,int):raiseValueE
系统 2019-09-27 17:54:11 1966
本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代码!#-*-coding:utf-8-*importreimportosimporturllibimporturllib2frombs4importBeautifulSoupdefcraw(url,page):html1=urllib2.urlopen(url).read(
系统 2019-09-27 17:53:53 1966
Python学习笔记--坐标轴范围参靠视频:《Python数据可视化分析matplotlib教程》链接:https://www.bilibili.com/video/av6989413/?p=6所用的库及环境:IDE:PycharmPython环境:python3.7Matplotlib:Matplotlib1.11Numpy:Numpy1.15.坐标轴范围概念根据需求调整坐标轴的范围坐标轴范围调整第一种形式通过plt.axis()可以查看图形的x轴的最小
系统 2019-09-27 17:53:50 1966
粘包问题TCP协议在传输过程中会出现数据粘包问题讲一下TCP和UDP的区别,都是传数据的协议,没有好坏之说,只是不同的应用需求可能会更好选择哪一个协议TCP:适合传输数量大,需要建立连接,会出现粘包问题,粘包问题可以解决,确定传入的长度,接收同样长度就可以保证一次性传输完UDP:适合传输数据量小,没有粘包,不需要连接,一次性传输,下一次就是新的数据,弊端就是数据丢失,不安全QQ是用什么协议呢?按理应该可以用UDP协议,但是实际用的是TCP协议,这是历史遗留
系统 2019-09-27 17:53:03 1966
前言在使用Python进行数据分析时,经常会遇到时间日期格式处理和转换,特别是分析和挖掘与时间相关的数据,比如量化交易就是从历史数据中寻找股价的变化规律。Python中自带的处理时间的模块有datetime,NumPy库也提供了相应的方法,Pandas作为Python环境下的数据分析库,更是提供了强大的日期数据处理的功能,是处理时间序列的利器。1、生成日期序列主要提供pd.data_range()和pd.period_range()两个方法,给定参数有起始
系统 2019-09-27 17:53:00 1966
一引子从封装本身的意思去理解,封装就好像是拿来一个麻袋,把青菜,土豆,花菜,还有苹果一起装进麻袋,然后把麻袋封上口子。照这种逻辑看,封装=‘隐藏’,这种理解是相当片面的。在面向对象中这个麻袋就是你的类或者对象,类或者对象这俩麻袋内部装了数据属性和函数属性,那么对于类和对象来说"封"的概念从何而来,其实封的概念代表隐藏。在学完了面向对象的类和对象相关的知识后,大家都知道了如何把属性装进类或者对象中,那么如何完成封的效果呢?第一个层面的封装:类就是麻袋,这本身
系统 2019-09-27 17:52:56 1966
第一步:建立一个setup.py的文件,文件内容如下:fromsetuptoolsimportsetup,find_packagessetup(name='',version='',packages=find_packages(),#必填author='',author_email='',url='',license='',description='',platforms='Windows',#需要安装的依赖install_requires=[],#此项需
系统 2019-09-27 17:52:53 1966
工作中用到了C/S模型,所做的也无非是给服务器发数据,但开发阶段会遇到程序自身的回环测试,需要用到简单的服务端以便验证数据发送的正确性。写软件用C++,跑测试用python,这段时间也刚好看go语言,所以都要有demo。以下三组程序实现的功能相同,这里一起做下总结。一、C++实现Boost.Asio是一个跨平台的C++库,它用现代C++方法为网络和底层I/O程序提供了一致的异步I/O模型。为了跨平台,我用boost库实现,具体如下。服务端代码:复制代码代码
系统 2019-09-27 17:51:43 1966
搜狗微信搜索提供两种类型的关键词搜索,一种是搜索公众号文章内容,另一种是直接搜索微信公众号。通过微信公众号搜索可以获取公众号的基本信息及最近发布的10条文章,今天来抓取一下微信公众号的账号信息爬虫首先通过首页进入,可以按照类别抓取,通过“查看更多”可以找出页面链接规则:importrequestsasreqimportrereTypes=r'id="pc_\d*"uigs="(pc_\d*)">([\s\S]*?)'Entry="http://weixin
系统 2019-09-27 17:51:38 1966