我需要一个文档/示例来扩展python中的C ++方法。我在论坛上浏览了python文档和一些现有问题,但没有得到确切的细节。
准确地说,如果我有类似的课程 C ++:
class Manager
{
Manager *instance;
std::list<User*> userList;
Manager();
public:
User* getUser(const char* name);
static Manager* getInstance();
}
class User
{
User();
public:
void doSomething();
}
在python中我期望做类似的事情:
m = getInstance()
u=m.getuser('x')
u.doSomething()
所以我想要一种编写python包装器方法的方法,它将在内部调用上面的方法。我能够以非面向对象的方式编写包装器方法。即:我能够写它,以便我可以调用独立的方法 比如getUser(&#39; x&#39;)和doSomething(),但不是基于对象的m.getUser(&#39; x&#39;)和u.doSomething()。
答案 0 :(得分:1)
通过执行m = getInstance()
,我想你想要一个对象实例。为您的类定义构造函数。还要添加self
,以便它仅从特定对象调用方法
class Manager:
def __init__(self, args):
self.user_list = [] # list of User
def get_user(self, user_name):
return User('user_name') # search here instead
class User:
def __init__(self, args):
self.args = args
def do_something(self):
print("doing!")
m = Manager(1)
u = m.get_user('x')
u.do_something()