python装饰器 装饰类方法

garstoon garstoon 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
遇到这么一个问题,我定义了一个带参数的decorator, 我想用它来装饰类的一个方法,
但是装饰器参数报错:name 'proj_name' is not defined

global xmlfile
global proj_name
global CaseNo_or_CaseName

class APITestTemplate(CaseTemplate):
def __init__(self, prj, case):
super(Test_sdkAPI_normal, self).__init__()
CaseNo_or_CaseName = case
proj_name = prj
self.classname = self.__class__.__name__
xmlfile = self.classname + '.xml'
self.xmlop = XMLop3(xmlfile)

@deco_setup_getAPI(proj_name, CaseNo_or_CaseName, xmlfile)
def Setup(self):

tag = 'API'
tag_pre = 'pre'
self.pre_dict = self.xmlop.getElements(tag_pre)
self.api_info_list = self.xmlop.getElements(tag)
请教一下!
...全文

相关推荐

基于Python 装饰器装饰类中的方法实例

下面小编就为大家分享一篇基于Python 装饰器装饰类中的方法实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38641896

Python中如何将一个类方法变为多个方法

前一篇文章《Python 中如何实现参数化测试?》中,我提到了在 Python 中实现参数化测试的几个库,并留下一个问题: 它们是如何做到把一个方法变成多个方法,并且将每个方法与相应的参数绑定起来的呢? 我们再提炼一下,原问题等于是:在一个类中,如何使用装饰器把一个类方法变成多个类方法(或者产生类似的效果)? # 带有一个方法的测试类 class TestClass: def test_func(self): pass # 使用装饰器,生成多个类方法 class TestClass: def test_func1(self): pass def test_func

weixin_38614377

python 装饰器功能以及函数参数使用介绍

简单的说:装饰器主要作用就是对函数进行一些修饰,它的出现是在引入类方法和静态方法的时候为了定义静态方法出现的。例如为了把foo()函数声明成一个静态函数 复制代码 代码如下: class Myclass(object): def staticfoo(): ………… ………… staticfoo = staticmethod(staticfoo) 可以用装饰器的方法实现: 复制代码 代码如下: class Myclass(object):   @staticmethod     def staticfoo():     ………     ……… 这个例子很明显很容易就可以看懂。 说到这里我们举

weixin_38735101

Python类中的装饰器在当前类中的声明与调用详解

主要介绍了Python类中的装饰器在当前类中的声明与调用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38663701

Python类装饰器详解[可运行源码]

本文详细介绍了Python中类装饰器的两种主要形式:类作为装饰器和为类添加装饰器。首先,文章解释了类作为装饰器的实现方法,即通过定义__call__方法使类能够装饰函数,并展示了具体的代码示例及其运行结果。其次,文章探讨了为类添加装饰器的几种用途,包括修改类属性、增加类方法以及完全重写类。此外,文章还提到了类装饰器装饰类的可能性,并提供了相应的代码示例。最后,作者分享了一些个人感悟,并附上了相关参考链接。文章内容详实,适合对Python类装饰器感兴趣的读者阅读。

5f4d3s2a1q
评论 2
收藏 已收藏
分享
返回顶部
garstoon
脚本语言 37,737 成员 34,208 内容