python 3中使用getattr和*args时, 出现传入参数不一致的问题
2013-07-05 09:06
507 查看
今天在用python3的getattr时遇到一个问题, 就是老提示传入参数和函数前面不一致, 代码为:
class Test:
def __init__(self, name):
self.name = name
def execute(self, methodname, *args):
print(args)
print(self.name)
print(getattr(self.name, methodname)(args))
经过调查发现, args在Python3中类似指针, 必须用*args才能传递整个参数, 要不然是第一个参数值。
解决方案: def execute(self, methodname, *args):
print(args)
print(self.name)
print(getattr(self.name, methodname)(*args))
相关文章推荐
- python 3中使用getattr和*args时, 出现传入参数不一致的问题
- python 3中使用getattr和*args时, 出现传入参数不一致的问题
- Enterprise Library- Data Block使用oracle存储过程,字符串参数传入值为""时出现问题的解决
- Enterprise Library- Data Block使用oracle存储过程,字符串参数传入值为""时出现问题的解决
- Python中func(*args, **kwargs)的参数问题
- 解决使用MyBatis只传入一个String类型的参数时出现异常
- 使用repeater开发出现 回发或回调参数无效 的问题
- 关于mybatis 传入基本参数类型使用if test 判断出错的问题
- 如何解决mid使用过程中出现的以下问题(无效的过程调用或参数: 'mid')
- python2.6使用mysql包出现的一些问题以及解决办法
- Java使用MyBatis传入参数的问题
- 5.1 Python 函数-默认参数,*args,**kwargs的使用;作用域-局部空间使用全局变量需要注意的事项等
- JSP中使用jsp:param传入参数的时候出现中文乱码
- Python使用urllib时url带中文参数的问题
- 对于数据库操作可能会遇到的问题(空值问题以及出现的参数不能被重复使用问题)
- linux终端使用python的matplotlib模块画图出现“could not open display”问题解决
- 如何解决mid使用过程中出现的以下问题(无效的过程调用或参数: 'mid')
- ThreadPoolExecutor 与 ThreadLocal 配合使用中出现数据不一致问题
- 对于新手,某些可变参数函数在使用时,可能会出现的问题
- python使用requests爬取网页,遇到中文出现乱码的编码问题及解决