自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (4)
  • 问答 (88)
  • 收藏
  • 关注

原创 Effective Python 读书笔记: 第34条: 用元类来注册子类

# -*- encoding: utf-8 -*-import json'''第34条: 用元类来注册子类关键:1 元类作用: 在程序中自动注册类型,对于需要反向查询的场合有用。 可以在简单的标示符与对应的类之间建立映射关系。应用场景:1) 将python对象表示为JSON格式的序列化数据,即将指定对象转换成JSON字符串。2) 开发者继承某个类的时候,程序自动...

2019-03-31 22:12:43 187

原创 Effective Python 读书笔记: 第33条: 用元类来验证子类

# -*- encoding: utf-8 -*-import os'''第33条: 用元类来验证子类关键:1 元类作用: 验证某个类定义是否正确原理: 定义新的类时,它会运行验证代码,确保新类符合规范定义元类: 定义元类,需要从type中继承对于使用该元类的其他类来说,会把这些类的class语句提中的内容发送给元类的__new__方法。2 元类的特点与引用场景特...

2019-03-31 19:30:31 121

原创 Effective Python 读书笔记: 第32条: 用__getattr__、__getattribute__和__setattr__实现按需生成的属性

# -*- encoding: utf-8 -*-import os'''第32条: 用__getattr__、__getattribute__和__setattr__实现按需生成的属性关键:1 __getattr__应用场景: 把数据库的行表示为Python对象,操作与行对应的对象时,需要直到这个数据库的结构作用: 若某个类定义了__getattr__, 且无法在该类对象...

2019-03-31 19:09:04 138

原创 Effective Python 读书笔记: 第31条: 用描述符来该写需要复用的@property方法

# -*- encoding: utf-8 -*-import weakref'''第31条: 用描述符来该写需要复用的@property方法关键:1 @property缺点: 不便于复用,受它修饰的方法无法被同一个类中其他属性复用,与之无关的类也无法复用这些方法2 描述符描述符类: 可以提供__get__和__set__方法原理: exam.writingGrad...

2019-03-31 18:39:02 131

原创 Effective Python 读书笔记: 第30条: 考虑用@property来代替属性重构

# -*- encoding: utf-8 -*-import os'''第30条: 考虑用@property来代替属性重构关键:1 @property修饰器作用: 访问类的成员变量,并可以向其中添加复杂的逻辑2 总结@property可以为类的成员变量添加新功能可以用@property完善数据模型参考:Effectiv Python 编写高质量Python代码的...

2019-03-31 18:17:13 146

原创 Effective Python 读书笔记: 第28条: 继承collections.abc以实现自定义的容器类型

# -*- encoding: utf-8 -*-import collections'''第28条: 继承collections.abc以实现自定义的容器类型关键:1 下标访问元素原理: 假设bar是一个列表,将bar[0]转换为bar.__getitem__(0)所以当自己实现__getitem__方法,就可以使类的行为表现得和序列一样要向使内置的len函数正常,需要...

2019-03-31 17:48:04 319 2

原创 Effective Python 读书笔记: 第27条: 多用public属性,少用private属性

# -*- encoding: utf-8 -*-import os'''第27条: 多用public属性,少用private属性关键:1 python类成员变量的可见度可见度种类: public, proteced(单下划线的属性)和private(双下划线的属性)2 private属性含义: 两个下划线开头的属性, 例如: self.__private_field =...

2019-03-31 17:29:31 143

原创 Effective Python 读书笔记: 第26条: 只在使用Min-in组件制作工具类时进行多重继承

# -*- encoding: utf-8 -*-import json'''第26条: 只在使用Min-in组件制作工具类时进行多重继承关键:1 关于多重继承建议:尽量避免多重继承好处: 利用多重继承的封装性实现: 多重继承编写mix-in类,只定义其他类可能需要提供的一套附加方法,而不定义自己的实例属性,不要求使用者调用自己的__init__构造器2 mix-in...

2019-03-30 16:40:15 222

原创 Effective Python 读书笔记: 第24条: 以@classmethod形式的多态去通用地构建对象

# -*- encoding: utf-8 -*-import functoolsimport osfrom threading import Thread'''第24条: 以@classmethod形式的多态去通用地构建对象关键:1 python类的多态多态含义: 继承体系的多个类能以自己的方式实现某个方法。这些类都满足相同的接口但有不同的功能。局限: python只...

2019-03-30 16:06:23 334

原创 Effective Python 读书笔记: 第15条: 了解如何在闭包里使用外围作用域中的变量

# -*- encoding: utf-8 -*-import copy'''第15条: 了解如何在闭包里使用外围作用域中的变量关键:1 闭包含义:定义在某个作用域中的函数,这种函数引用了该作用域的变量。特点: 函数是可以作为参数传递给其他函数元组比较规则: 先比较元组中下标为0的元素,然后比较下标为1的元素2 解析引用的顺序1) 当前函数的作用域2) 任何外围作用...

2019-03-29 18:29:03 162

翻译 stackstorm 21. stackstorm的校验方式

1 校验如果仅仅需要默认的密码,使用用户名st2admin,密码 Ch@ngeMe需要改变密码吗? 运行: sudo htpasswd /etc/st2/htpasswd st2admin更复杂的情况则需要阅读stackstorm的校验。StackStorm包含了一个校验服务,该服务用于处理用户校验并且会生成有过期时间的token。当校验开启时(默认开启),这些tokens会在发送...

2019-03-29 18:26:30 679

原创 Effective Python 读书笔记: 第25条: 用super初始化父类

# -*- encoding: utf-8 -*-from pprint import pprint'''第25条: 用super初始化父类关键:1 初始化父类的方式方式1: 在子类中调用父类的__init__方法,样例:ParentClass.__init__(self, value)问题: 1) 多重继承会调用超类的__init__2) 调用顺序不固定: 继承超...

2019-03-28 21:53:16 140

原创 stackstorm 20. stackstorm的api调用接口分析

说明: 下面的接口调用是基于st2 2.10版本1 获取tokencurl -X POST -u 'st2admin:Ch@ngeMe' http://127.0.0.1:9100/tokens输出结果:[root@localhost task]# curl -X POST -u 'st2admin:Ch@ngeMe' http://127.0.0.1:9100/tokens{...

2019-03-28 09:25:21 1000

原创 stackstorm 19. Centos下安装stackstorm的webui

Centos下安装stackstorm的webui1 检查st2安装的服务执行:systemctl list-units|grep st2输出结果样例如下: st2actionrunner.service loaded active exited...

2019-03-28 09:09:29 492

原创 Effective Python 读书笔记: 第23条: 简单的接口应该接受函数,而不是类的实例

# -*- encoding: utf-8 -*-import os'''第23条: 简单的接口应该接受函数,而不是类的实例关键:1 挂钩函数方法可以接受函数,可以通过该函数执行具体的行为应用场景: sort方法可以接受key参数,指定每个索引位置如何排序2 __call__方法类中可以定义__call__方法,此时类的对象变成可调用对象。作用: 允许一个类的实例像函...

2019-03-28 08:59:05 208

原创 Effective Python 读书笔记: 第22条: 尽量用辅助类来维护程序的状态,而不要用字典

# -*- encoding: utf-8 -*-import collections'''第22条: 尽量用辅助类来维护程序的状态,而不要用字典关键:1 动态含义:指这些保存的信息建议:用来保存程序状态的数据结构如果复杂,应该拆分为类2 把嵌套结构重构为类collections模块的namedtuple(具名元组)可以定义出不可变的数据类定义: collectio...

2019-03-28 08:39:03 161

原创 kubernetes -- helm charts 开发: 13、搭建minikube环境

主要思路: 通过kvm安装(libvirt是建立在kvm之上的),然后用仓库,最后记得安装charts,就可以运行helm命令来安装组件步骤0: 安装libvirthttps://github.com/kubernetes/minikube/blob/master/docs/drivers.mdsudo yum install libvirt-daemon-kvm qemu-kvm -y...

2019-03-27 22:42:25 3232

原创 Effective Python 读书笔记: 第21条: 用只能以关键字形式指定的参数来确保代码明晰

# -*- encoding: utf-8 -*-from datetime import datetimeimport os'''第21条: 用只能以关键字形式指定的参数来确保代码明晰关键:1 关于位置参数参数列表中的*号,表示位置参数结束了,之后参数都值能以关键字形式指定2 *参数含义: 接收数量可变的位置参数3 **参数含义: 接收任意数量的关键字参数参考:...

2019-03-27 22:33:09 155

原创 Effective Python 读书笔记: 第20条: 用None和文档字符串来描述具有动态默认值的参数

# -*- encoding: utf-8 -*-from datetime import datetimeimport os'''第20条: 用None和文档字符串来描述具有动态默认值的参数关键:1 参数的默认值特点: 包含代码的模块一旦加载进来,参数的默认值就不变了2 动态设置默认值把默认值设置为None,如果发现参数的值为None,就设置为默认值参考:Eff...

2019-03-27 22:22:41 165

原创 Effective Python 读书笔记: 第19条: 用关键字参数来表达可选的行为

# -*- encoding: utf-8 -*-import os'''第19条: 用关键字参数来表达可选的行为关键:1 关键字参数含义: 指func(a=1, b=2)中的类似a=1的这种关键字参数a优点: 1)明白参数的含义,2)可在函数中使用默认值,3) 扩充函数参数的代码与原来代码兼容参考:Effectiv Python 编写高质量Python代码的5...

2019-03-27 22:11:32 136

原创 Effective Python 读书笔记: 第18条: 用数量可变的位置参数减少视觉杂讯

# -*- encoding: utf-8 -*-import os'''第18条: 用数量可变的位置参数减少视觉杂讯关键:1 星号参数含义:可选位置参数,常常写为 *args作用: 使代码清晰限制: 当输入参数个数较少,才好使用*args的变长参数。这是因为变长参数传给函数时,会先转换为元组,python需要遍历这些数据,如果参数过多,带来内存问题2 总结不要对...

2019-03-27 09:07:02 171

原创 Effective Python 读书笔记: 第17条: 在参数上面迭代时,要多加小心

# -*- encoding: utf-8 -*-import os'''第17条: 在参数上面迭代时,要多加小心关键:1 迭代器协议含义:for循环遍历容器时,需要依靠迭代器写意本质: 执行类似for x in data这样的语句时,python实际会调用iter(data)内置的iter函数又会调用data.__iter__方法,该方法必须返回迭代器对象。该迭代器实现...

2019-03-27 08:50:54 125

原创 Effective Python 读书笔记: 第16条: 考虑用生成器来该写直接返回列表的函数

# -*- encoding: utf-8 -*-import os'''第16条: 考虑用生成器来该写直接返回列表的函数关键:1 生成器含义: 使用yield表达式的函数,返回迭代器特点: 调用生成器函数时,不会真正运行,而是返回迭代器,在迭代器调用next函数时,迭代器会把生成器推进到下一个yield表达式用法: 将需要返回的列表的每一个值用yield返回,用yie...

2019-03-27 08:20:20 88

原创 Effective Python 读书笔记: 第14条: 尽量用异常来表示特殊情况,而不要返回None

# -*- encoding: utf-8 -*-import os'''第14条: 尽量用异常来表示特殊情况, 而不要返回None关键:1 函数返回None缺点: 会使调用它的人写出错误的代码,因为None, 0, 空字符串都会被条件表达式评估为False解决方法:1) 把返回值拆成两部分,放到二元组,第一个元素表示是否操作成功;第二个元素是运算结果2) 发生异常,...

2019-03-26 22:29:50 202

原创 Effective Python 读书笔记: 第13条: 合理利用try/except/else/finally结构中的每个代码块

# -*- encoding: utf-8 -*-import jsonimport os'''第13条: 合理利用try/except/else/finally结构中的每个代码块关键:1 finally块特点: finally块中的代码一定执行应用场景: 关闭文件2 else块特点: 如果try块执行正常,就执行else块3 总结finally块必须执行el...

2019-03-26 22:18:41 133

原创 Effective Python 读书笔记: 第12条: 不要在for和while循环后面写else块

# -*- encoding: utf-8 -*-import os'''第12条: 不要在for和while循环后面写else块关键:1 else含义: 如果不执行前面那个if块,就执行else块try/except/else :如果try块没有失败,就执行elsetry/finally: 如果try块执行过,就执行finally块2 不应该在循环后面使用else块...

2019-03-26 22:06:56 363

原创 git 1、git常用命令

1 git配置git config --global user.name <your_name> : 设置用户名git config --global user.email <your_email> :设置邮箱git config --global gitreview.username <your_name>:重新生成拷贝代码的密码:在roo...

2019-03-26 09:29:00 285

原创 stackstorm 18. 源码分析之----stackstorm表结构分析

1 查看stackstorm的mongodb中的表结构1.1 查看mongodb的用户名和密码StackStorm - /etc/st2/st2.confdatabase.username - MongoDB database username.database.password - MongoDB database password.messaging.url - RabbitM...

2019-03-26 09:05:17 601 1

原创 Effective Python 读书笔记: 第11条: 用zip函数同时遍历两个迭代器

# -*- encoding: utf-8 -*-import os'''第11条: 用zip函数同时遍历两个迭代器关键:1 zip方法作用: 把两个或两个以上的迭代器封装为生成器,可以稍后求值zip生成器会从每个迭代器中获取当前迭代器的下一个值,然后把值汇聚成元组2 注意点python 2中的zip会把迭代器产生的值汇聚成元组,并把元组组成的列表返回。所以不是zip迭...

2019-03-26 09:01:58 163

原创 Effective Python 读书笔记: 第10条: 尽量用enumerate取代range

# -*- encoding: utf-8 -*-import os'''第10条: 尽量用enumerate取代range关键:1 enumerate作用: 可以把各种迭代器包装为生成器,方便产生输出值输出: 每次生成一对值,(下标,值)用法示例:for i, value in enumerate(dataList, 1):其中1表示下标从1开始2 总结enum...

2019-03-26 08:45:13 282

原创 Effective Python 读书笔记: 第9条: 用生成器表达式来改写数据量较大的列表推导

# -*- encoding: utf-8 -*-import os'''第9条: 用生成器表达式来改写数据量较大的列表推导关键:1 列表推导缺点对输入序列中的每个值可能要创建仅包含一个元素的列表,输入数据多,可能导致崩溃因为把输入数据每一项都保存在内存中。2 生成器表达式优点: 不把输出序列都呈现出来,估值为迭代器,迭代器每次根据生成器表达式产生一项数据。使用方式...

2019-03-26 08:34:45 118

原创 Effective Python 读书笔记: 8 不要使用含有两个以上表达式的列表推导

# -*- encoding: utf-8 -*-import sys'''第8条: 不要使用含有两个以上表达式的列表推导关键:1 二层列表推导样例:result = [value for row in matrix for value in row]注意: 二层列表推导,最前面的是外循环,第二层是内循环2 列表推导支持多个if条件处在同一个循环级别中的多项条件是an...

2019-03-16 18:43:02 141

原创 Effective Python 读书笔记: 7 用列表推导来取代map和filter

# -*- encoding: utf-8 -*-import sys'''第7条: 用列表推导来取代map和filter关键:1 列表推导含义: 根据一个列表制作另一个列表的表达式2 用列表推导取代map和filtermap(function, arr): 对arr这个序列中每个元素应用function方法,返回处理后的新序列filter(function, arr...

2019-03-16 18:24:45 166

原创 Effective Python 读书笔记: 6 在单次切片操作内,不要同时指定start、end和stride

# -*- encoding: utf-8 -*-import sys'''第6条: 在单次切片操作内,不要同时指定start、end和stride关键:1 步进式切割格式: myList[start:end:stride]从每n个元素中取出一个元素stride: 步进值2 一行代码反转字节形式的字符串result = string[::-1]-1表示从尾部开始,向...

2019-03-15 21:44:27 152

原创 Effective Python 读书笔记: 5 了解切割序列的办法

# -*- encoding: utf-8 -*-import sys'''第5条: 了解切割序列的办法关键:1 切片作用: 访问序列中某些元素构成的子集写法: myList[start:end],注意不包含end所指的元素myList[-start:] : 表示从倒数第start个开始直到最后一个元素, 注意: 这里的 - 表示倒数....

2019-03-15 21:24:46 142

原创 Effective Python 读书笔记: 4 用辅助函数来取代复杂的表达式

# -*- encoding: utf-8 -*-import sys'''第4条: 用辅助函数来取代复杂的表达式关键:1 避免过渡使用python语法特性而写出特别复杂的单行表达式2 复杂表达式用辅助函数表示参考:Effectiv Python 编写高质量Python代码的59个有效方法'''def oneLineVersion(myValues): ...

2019-03-15 21:03:00 207

原创 Effective Python 读书笔记: 3 了解bytes、str与unicode的区别

# -*- encoding: utf-8 -*-import sys'''第3条: 了解bytes、str与unicode的区别关键:1 字符序列python2:str: 二进制序列unicode: unicode序列str转unicode: 用decode('utf-8'),从二进制解码为正常字符串unicode转: 用encode('utf-8'),将正常字符串...

2019-03-15 21:02:02 211

原创 Effective Python 读书笔记: 2 遵循PEP8风格值南

# -*- encoding: utf-8 -*-import sysreload(sys)sys.setdefaultencoding('utf-8')'''第2条: 遵循PEP8风格值南关键:1 E128 continuation line under-indented for visual indent解决方法:https://blog.csdn.net/yage...

2019-03-15 21:00:16 353

原创 Effective Python 读书笔记: 1 确认自己所用的Python版本

# -*- encoding: utf-8 -*-import sysreload(sys)sys.setdefaultencoding('utf-8')'''第1条: 确认自己所用的Python版本关键:1 使用 python --version查看版本2 python运行时环境环境有:CPython, JyPython等3 优先使用Python 3参考:Eff...

2019-03-15 20:58:41 129

原创 python 64式: 第22式、python 垃圾回收机制与内存泄露问题分析

1 python垃圾回收机制1.1python垃圾回收机制使用引用计数引用计数是因为变量是对内存数据区域引用。1.2 python给对象(内存中区域)维护引用计数创建,复制,计数+1引用销毁,计数-1减为0,就释放该内存空间。作为参数传递给函数时,先复制引用,所以计数+1del语句消除引用关系,没有_self自我引用,则内存释放1.3 标记-清除回收机制...

2019-03-06 21:29:16 589

超越c++标准库——boost程序库导论

《Boost程序库探秘:深度解析C++准标准库》深入探讨了其中的许多重要组件,包括迭代器、函数对象、容器、流处理、序列化以及C++语言中最复杂最具威力的模板元编程。

2014-07-29

grafana如何接入gnocchi数据

2017-05-27

配置gnocchi作为Grafana数据源报错

2017-05-18

devstack报错generate-subunit fail

2017-05-08

请教各位朋友cv2的python版本中imwrite无法生成带有中文路径的图片?

2016-06-07

关于Linux的sed命令在行首添加空格的问题?

2016-05-22

Linux:使用sed命令替换时,如何在前面添加四个空格呢

2016-05-22

各位朋友好,请教sed查询到“[client]”这一行后,在这一行下面追加一行新的内容

2016-05-22

各位朋友好,请教ubuntu系统python3.4环境下安装matplotlib报错的解决办法

2016-05-20

请教各位大神,如何用python提取出两幅图像中不同的部分?

2015-12-28

请教朋友们,python中numpy.min(dataset[:,j]) 这句话是什么意思?

2015-12-26

请教各位大神,AutoHotkey如何实现二维数组?

2015-11-29

请教各位算法大神,acm一道题:赋权无向图的最小权值遍历用什么算法(存在负权值)?

2015-11-25

请教各位大神,为什么django下载的zip压缩包文件名中包含中文的就乱码啊?

2015-10-28

请教各位朋友们,为什么html中的video标签不能播放时长大于5s的视频?

2015-10-25

请教朋友们,python3.4如何安装相对应的第三方库

2015-10-08

请教朋友django用filefield上传作品.txt文件报错UnicodeEncodeError

2015-10-08

请教朋友们,django动态改变ImageField,FileField的upload_to

2015-10-07

django如何在用户登录后返回到原来来页面,并保持登陆状态

2015-09-28

django如何将mysql中表的内容通过models.py在网页端显示

2015-09-18

python+django能够同时使用mongodb和mysql两种数据库引擎吗?

2015-09-17

django实现**.zip包下载报错内存使用过大

2015-08-03

无法访问部署在mac服务器到虚拟机Ubuntu端口映射做成的服务器上的网站

2015-07-25

xshell无法通过外网连接VBox中的虚拟机

2015-07-23

苹果笔记本主机如何将文件传送到virtual box中安装的ubuntu虚拟机中

2015-07-22

在ubuntu环境下执行python程序,报错 segment error

2015-07-18

django取出pymongo中存储的中文图片路径后,读取该路径在网页上展示没有出现图片

2015-07-16

读取python遍历中文目录得到的文件路径报错

2015-07-10

python中的os.walk函数为什么遍历带有中文的路径时就失败?

2015-07-09

pynlpir在ubuntu下为什么不能对带有中文路径的文件分词

2015-06-22

struts中的gdc:defineCollection这句话是什么意思

2015-05-13

struts下的jsp文件中html:select 下的各个属性有哪些

2015-05-12

html视频播放进度条上如何加入点号,并且鼠标移动到点号上显示关键帧图片

2015-05-04

如何在html图片上方叠加一个半透明颜色层,并在半透明颜色层上叠加文字

2015-05-03

ffmpeg提取视频中的帧保存为图片的序号如何从0开始

2015-04-30

ffmpeg 截取图片的时间对应于原来视频中的时间点如何获取

2015-04-30

ubuntu环境下使用ffmpeg获取视频总时间的命令该怎么写?

2015-04-30

如何在python中调用ffmpeg的命令行语句

2015-04-30

ffmpeg -vf中的命令参数-vf是什么意思

2015-04-30

use pyffmpeg install on win7,but has errors

2015-04-29

python中unicode对象与str对象中汉字的长度不同这是为什么

2015-04-29

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除