cls

面向对象之反射及内置方法

夙愿已清 提交于 2019-11-30 03:28:14
一、静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被类调用,就像正常调用函数一样 类方法和静态方法的相同点:都可以直接被类调用,不需要实例化 类方法和静态方法的不同点: 类方法必须有一个cls参数表示这个类,可以使用类属性 静态方法不需要参数 绑定方法: 分为普通方法和类方法    普通方法:默认有一个self对象传进来,并且只能被对象调用-------绑定到对象    类方法:默认有一个cls对象传进来,并且可以被类和对象(不推荐)调用-----绑定到类 非绑定方法: 静态方法:没有设置默认参数,并且可以被类和对象(不推荐)调用-----非绑定 1 class Student: 2 f = open('student', encoding='utf-8') 3 def __init__(self): 4 pass 5 @classmethod #类方法 :有个默认参数cls,并且可以直接使用类名去 6 #调用,还可以与类属性交互(也就是可以使用类属性) 7 def show_student_info_class(cls): 8 # f = open('student', encoding='utf-8') 9 for line in

vector<Rect>矩形框聚合拟合

人盡茶涼 提交于 2019-11-30 03:14:50
groupRectangle函数实现矩形框聚合。原因:多尺度检测后,获取的矩形之间会存在重合、重叠和包含关系。因尺度缩放,可能导致同一个目标在多个尺度上被检测出来,故有必要进行融合。OpenCV中实现的融合有两种:1)按权重合并;2)使用Meanshift算法进行合并。 下面是简单的合并,其直接按照位置和大小关系进行合并。 其实现主要为:1)多所有矩形按照大小位置合并成不同的类别; 2)将同类别中的矩形合并成一个矩形,当不满足给出阈值条件时,矩形被舍弃,否则留下。 void groupRectangles(std::vector<Rect>& rectList, int groupThreshold, double eps, std::vector<int>* weights, std::vector<double>* levelWeights) { if( groupThreshold <= 0 || rectList.empty() ) { if( weights ) { size_t i, sz = rectList.size(); weights->resize(sz); for( i = 0; i < sz; i++ ) (*weights)[i] = 1; } return; } std::vector<int> labels; // 调用partition函数

自动化测试报告

北城余情 提交于 2019-11-30 03:09:44
1.下载htmltestrunner http://tungwaiyip.info/software/HTMLTestRunner.html 2.放在python 的lib目录下 3.验证是否正确放入 import 一下就可以知道 不报错就是对了 以上是针对python2 3.对于python3的话 需要对下载过来的文件进行一些修改(因为python2和python3在一些模块的使用的时候是不一致的,源文档是以python2写的) 修改的内容有好几处 网上也可以下载到别人修改好的(懒人就直接下载吧) 自己修改的话 参考下面 修改方法: 第94行,将import StringIO修改成import io 第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO() 第631行,将print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)) 第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:

完整的单例模式

北慕城南 提交于 2019-11-30 01:59:08
import timeimport threadingclass Singsing: lock = threading.Lock() instance = None def __init__(self, name): self.name = name def __new__(cls, *args, **kwargs): if cls.instance: return cls.instance with cls.lock: if cls.instance: return cls.instance time.sleep(0.1) cls.instance = object.__new__(cls) return cls.instancedef task(): singer = Singsing('name') print(singer)for i in range(10): t = threading.Thread(target=task) t.start() 来源: https://www.cnblogs.com/xuyuwei/p/11545043.html

python运用 - log信息提取

こ雲淡風輕ζ 提交于 2019-11-30 00:54:17
运用到的python知识点: excel相关: https://www.cnblogs.com/yaner2018/p/11269873.html 字典: python字典的几种方式: 1)key值遍历 1 d = {'a': '1', 'b': '2', 'c': '3'} 2 3 for k in d: 4 print(k+':'+d[k]) 5 print('------------') 6 7 for k in d.keys(): 8 print(k+':'+d[k]) key值遍历 1 a:1 2 b:2 3 c:3 4 ------------ 5 a:1 6 b:2 7 c:3 运行结果 for k in d: 与 for k in d.keys(): 完全等价 2)value遍历 1 d = {'a': '1', 'b': '2', 'c': '3'} 2 3 for v in d.values(): 4 print(v) 5 6 运行结果 7 1 8 2 9 3 value遍历 3)遍历字典项 1 d = {'a': '1', 'b': '2', 'c': '3'} 2 3 for kv in d.items(): 4 print(kv) 5 6 运行结果 7 ('a', '1') 8 ('b', '2') 9 ('c', '3') 字典项遍历 4)字典键、值

Faster-RCNN tensorflow 程序细节

我的未来我决定 提交于 2019-11-30 00:24:21
tf-faster-rcnn github: https://github.com/endernewton/tf-faster-rcnn backbone,例如vgg,conv层不改变feature大小,pooling层输出(w/2, h/2),有4个pooling所以featuremap变为原图1/16大小。 检测RPN模块 : 例如任意图片reshape到800*600,输入网络过vgg,conv5_3->rpn_conv/3*3->rpn_relu 得到feature map (1,512,50,38),接下来两个1*1的卷积分别用于每个点9个anchor前背景分类(1,18,50,38),anchor偏移量的预测(1,36,50,38),50 x 38 x 9 = 17100 从原图中扣出来的anchor数。(rpn_bbox_pred(偏移)+rpn_cls_prob_reshape(前背景))->proposal_layer 修正后的proposal,滤掉超出原图的proposal后NMS以及概率排序等操作后获得最终的boundingbox。输出大小为:(N,4),这里的N与NMS以及概率排序阈值有关,得到的就是boundingbox的四个坐标。 生成anchors,利用tx, ty, tw, th对所有的anchors做bbox regression回归

python单例

流过昼夜 提交于 2019-11-29 23:41:11
class ExpressQuery: # 定义类属性记录单例对象引用 _instance = None # 创建单例 def __new__(cls): # 1. 判断类属性是否已经被赋值 if cls._instance is None: cls._instance = super(ExpressQuery, cls).__new__(cls) # 2. 返回类属性的单例引用 return cls._instance def __init__(self): self.host = 'https://wuliu.market.alicloudapi.com' # 阿里云接口url前缀 # 个人code,获取连接 https://market.console.aliyun.com/imageconsole/index.htm # 购买连接 https://market.aliyun.com/products/56928004/cmapi021863.html self.app_code = '' 代码运行时候首先运行__new__方法,再运行__init__,运行__new__的时候判断是否已有实例对象,已有则不再创建,继续使用,没有的情况下则新建 测试: express = ExpressQuery() a = ExpressQuery() b = ExpressQuery()

Python面试

霸气de小男生 提交于 2019-11-29 22:17:01
目录 1.args和 kwargs 是什么意思? 2.python里面如何拷贝一个对象? 3.简要描述python的垃圾回收机制 4.什么是lambda函数?它有什么好处? 5.python如何实现单例模式? 6.python自省 7.谈一谈python的装饰器 8.什么是鸭子类型? 9.@classmethod和@staticmethod 10.谈一谈python中的元类 1.args和 kwargs 是什么意思? 答:args表示可变参数(variadic arguments),它允许你传入0个或任意个无名参数,这些参数在函数调用时自动组装为一个tuple; **kwargs表示关键字参数(keyword arguments),它允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。同时使用*args和**kwargs的时候,必须保证*args在**kwargs之前。 扩展阅读: https://blog.csdn.net/mbugatti/article/details/53884455 2.python里面如何拷贝一个对象? 答: (1) 赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个; (2)浅拷贝(copy.copy()),创建一个新的对象,但它包含的是对原始对象中包含项的引用

单例模式

和自甴很熟 提交于 2019-11-29 19:20:27
一、什么是单例模式 整个过程中只有一个实例,所有生成的实例都指向同一块内存空间,本质是为了节省空间 class Person: def __init__(self, name, age): self.name = name self.age = age p1 = Person('yjy',18) p2 = Person('yjy',18) print(p1) #<__main__.Person object at 0x000002694B07E278> print(p2) #<__main__.Person object at 0x000002694B07E2B0> 以上p1和p2的内存空间不一样,就不是单例模式 二、实现单例模式的方法 需求: 当用户输入端口和地址,实例化产生新对象 当用户不输入端口和地址,每次拿到的对象,都是同一个 2.1 通过类的绑定方法 class Sql(): #定义一个Sql类 _instance = None #定义一个初始变量__instance=None,将第一次实例的对象传给他,有每次外面再访问就直接进行get_singleton里面的if判断 def __init__(self,port,host): self.port = port self.host = host @classmethod #运用类的绑定方法 绑定给Sql类去直接调用实例化

Python 单例模式

心已入冬 提交于 2019-11-29 19:11:30
目录 单例模式 什么是单例模式 单例模式 什么是单例模式 多次实例化指向的都是同一块内存地址,拿到的都是同一个对象 节约空间 单例模式一 #通过类方法第一种方法 # class Sql(): # _instance=None # def __init__(self,port,host): # self.port=port # self.host=host # @classmethod # def get_sigoleton(cls): # import settings # if not cls._instance: # cls._instance = cls(settings.PORT, settings.HOST) # return cls._instance # # #每次调用get_sigoleton 拿到的对象都是同一个 # s1=Sql.get_sigoleton() # s2=Sql.get_sigoleton() # s3=Sql.get_sigoleton() 单例模式二 #通过装饰器:第二种方式 # def get_sigoleton(cls): # #cls就是Sql这个类 # import settings # _instance=cls(settings.PORT, settings.HOST) # # _instance=Sql(settings