前言 学过unittest的都知道里面用前置和后置setup呾teardown非常好用,在每次用例开始前呾结束后都去执行一次。当然迓有更高级一点的 setupClass 呾 teardownClass,需配合@classmethod 装饰器一起使用,在做 selenium 自动化的时候,它的效率尤为 ...
分类:
其他好文 时间:
2020-06-22 23:28:33
阅读次数:
124
@classmethod 被classmethod装饰的方法称为类方法,他是属于类的,而不是实例化对象的。它的第一个参数不是代表实例化对象的 self 而是类表示类本身的 cls 也就是说他的调用可以直接使用类调用,它也可以直接的修改类属性,总而言之它是属于类的或者操作是对类而言的。它的调用不需要实 ...
分类:
编程语言 时间:
2020-06-18 19:12:01
阅读次数:
56
1、知识点 类变量:类定义的时候,这个变量就定义好了 实例变量(成员变量)、实例方法(成员方法) 类方法: 用@classmethod修饰的方法 自带的方法,不用实例化就可以调用 是公共的方法,在实例方法里可随意调用 类方法里面不能调用实例方法、不能使用实例变量,可调用其他的类方法 属性方法:看起来 ...
分类:
编程语言 时间:
2020-06-13 23:19:35
阅读次数:
70
class Animal(object): count = 0 @classmethod #定义类方法,上一行 def show_count(cls): #定义类方法 cls强制必须,指代Animal类 print("Animal count: %d"%cls.count) #使用cls. 引用co ...
分类:
其他好文 时间:
2020-06-12 00:49:07
阅读次数:
44
class A(): def walk(self): #实例方法,a = A()--a.walk() print('walking ') @staticmethod #静态方法, A().sta() def sta(): print('static func') @classmethod #类方法, ...
分类:
编程语言 时间:
2020-06-09 09:22:40
阅读次数:
67
class A(object): # 属性默认为类属性(可以给直接被类本身调用) num = "类属性" # 实例化方法(必须实例化类之后才能被调用) def func1(self): # self : 就是A这个大类 print("func1") print(self) # 类方法(不需要实例化类 ...
分类:
编程语言 时间:
2020-06-03 20:35:55
阅读次数:
149
目前,nova compute读写数据库都是通过nova-conductor进行转发。数据库的读写操作都是根据objects下面模块中对应的方法来实现的,而这些方法都是使用了装饰器。 目前nova读写数据库所用的装饰器包括: 1 base.remotable_classmethod 2 base.r ...
分类:
数据库 时间:
2020-06-03 15:49:46
阅读次数:
80
普通实例方法,第一个参数需要是self,它表示一个具体的实例本身。 如果用了staticmethod,那么就可以无视这个self,而将这个方法当成一个普通的函数使用。 而对于classmethod,它的第一个参数不是self,是cls,它表示这个类本身。 @classmethod修饰符对应的函数不需 ...
分类:
其他好文 时间:
2020-05-31 11:06:46
阅读次数:
77
首先说一下什么是普通方法,普通方法需要传递参数,类调用的时候默认会将类的实例对象传进去。 @staticmethod 装饰的静态方法与普通方法相同:实例和类均可调用,但是不需要传递默认的参数进去。 @classmethod 装饰的类方法:也需要参数,使用时需要将调用的类传进去。 例如: ...
分类:
编程语言 时间:
2020-05-22 12:56:19
阅读次数:
55
class Singleton(object): def __new__(cls): # 关键在于这,每一次实例化的时候,我们都只会返回这同一个instance对象 if not hasattr(cls, 'instance'): cls.instance = super(Singleton, cl ...
分类:
编程语言 时间:
2020-05-16 17:03:32
阅读次数:
64