python类带参数_在python类中,以参数传递函数名的用法求解~解决方法

在python类中,以参数传递函数名的用法求解~!

作为一个python新人,小弟想自己写一个简单的验证类来练练手~!如下

class validate():

def __init__(self):

self.token = True

self.res = ''

self.message = []

# self._func = {'aw':self.aw,'ae':self.ae}

def Add(self, data=None, name=None, condition=None):

self.data = data

self.name = name

for x in condition:

#self._func.get(x)

if self.x():

print '成功调用函数'

else:

print '调用失败'

def IsEmpty(self):

pass

调用方法:

valid = validate()

valid.Add( abc,'提示名称abc', ['IsEmpty','IsNumber'] )

======================

我的目的是把需要验证的方法 IsEmpty,IsNumber当做参数传入,循环执行目标函数达到按照需求完成验证~!

但是这里出了一个问题就是 循环中 以x拿到IsEmpty字符串后 无法在self的对象中调用~!

self.x() 这样报错,直接查找了x函数而不是其所对应的 IsEmpty函数 除了使用我上面注释的 这种方法,我使用eval()能够把x变成需要的IsEmpty,但是又无法使用self.eval()这种写法,直接IsEmpty函数则表示找不到

有没有能够直接调用内部函数的使用方法,求大神指点迷津~!

------解决思路----------------------

# -*- coding: utf-8 -*-

class validate():

def __init__(self):

self.token = True

self.res = ''

self.message = []

def Add(self, data=None, name=None, condition=None):

self.data = data

self.name = name

for x in condition:

try:

func = getattr(self,x)

func()

print '成功调用函数'

except AttributeError:

print '调用失败'

def IsEmpty(self):

pass

valid = validate()

valid.Add('abc','提示名称abc', ['IsEmpty','IsNumber'] )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值