python 3中使用getattr和*args时, 出现传入参数不一致的问题
2024-09-04 18:19:51
今天在用python3的getattr时遇到一个问题, 就是老提示传入参数和函数前面不一致, 代码为:
class Test:
def __init__(self, name):
self.name = name
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))
print(args)
print(self.name)
print(getattr(self.name, methodname)(*args))
最新文章
- POJ2777
- YUV420查表法高效、无失真的转换为RGB32格式
- 【GoLang】golang中可以直接返回slice吗?YES
- 【PHP&;&;FileIO】
- Redis+Django(Session,Cookie)的用户系统
- HDU 4572 Bottles Arrangement(找规律,仔细读题)
- IOCP模型
- memcached全面剖析–2. 理解memcached的内存存储
- 《WPF程序设计指南》读书笔记——第5章 Stack与Wrap
- mysql开启函数功能
- 表格布局TableLayout
- 怎样在UICollectionView中添加Header和footer
- Lucene.Net 2.3.1开发介绍 —— 简介
- POJ 1743 Musical Theme Hash+二分法
- User.java 实体类 带 数据库字段模板
- Rest模式get,put,post,delete含义与区别(转)
- java第十周学习总结
- php中的抽象方法和抽象类,简单明了,一点通
- Very Long Suffix Array
- supermap中预览osgb格式的倾斜摄影文件