首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从python中的另一个类调用函数?

如何从python中的另一个类调用函数?
EN

Stack Overflow用户
提问于 2015-05-25 06:42:14
回答 5查看 15.5K关注 0票数 2

我对python和Sikuli软件非常陌生。::(我试图从另一个类调用一个函数。下面是一个包含函数的类。

代码语言:javascript
运行
复制
class Reader():
    def getUsername():
        ....
        return username

    def getAddress():
        .....
        return address

下面是另一个类,它调用上述函数。

代码语言:javascript
运行
复制
class DisplayInfo():
    reader = Reader()
    uName = reader.getUsername()
    addr = reader.getAddress()
    ......
    ......

但是当我运行DisplayInfo类时,我得到了这个错误。

代码语言:javascript
运行
复制
uName = reader.getUsername()
TypeError: getUsername() takes no arguments (1 given)

有人能帮我解决这个问题吗?提前谢谢你!

EN

回答 5

Stack Overflow用户

发布于 2015-05-25 06:47:08

将您的功能定义为:

代码语言:javascript
运行
复制
def getUsername(self):

def getAddress(self):

您的代码中缺少self。

票数 3
EN

Stack Overflow用户

发布于 2015-05-25 06:47:50

Python隐式地将对象传递给方法调用,但是您需要显式地声明它的参数。这通常被命名为self:

代码语言:javascript
运行
复制
def getUserName(self)
def getAdress(self)
票数 2
EN

Stack Overflow用户

发布于 2015-05-25 06:54:52

试试这个。

代码语言:javascript
运行
复制
class Reader():
def getUsername(self):
    username = "name"
    return username

def getAddress(self):
    address = 'address'
    return address


class DisplayInfo():
    reader = Reader()
    uName = reader.getUsername()
    addr = reader.getAddress()

reader = Reader()
uName = reader.getUsername()
uAddress = reader.getAddress()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30432564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档