Python 实例的方法在调用时运行两次

Python 实例的方法在调用时运行两次,python,object,python-3.x,methods,Python,Object,Python 3.x,Methods,当我将一个类导入到另一个文件中,插入它并调用它的一个方法时,它会运行两次 课程本身是: class DBAuth(object): def __init__(self, driver=None, username=None, password=None, host='localhost', port=None, database=None): self.driver = driver self.username = use

当我将一个类导入到另一个文件中,插入它并调用它的一个方法时,它会运行两次

课程本身是:

class DBAuth(object):
    def __init__(self, driver=None, username=None, password=None,
                 host='localhost', port=None, database=None):
        self.driver = driver
        self.username = username
        self.password = password
        self.host = host
        self.port = port
        self.database = database

    def test_method(self):
        teststr = "database is '{0}' and your user is '{1}'".format(
                self.database, self.username)
        return teststr
我是这样使用它的:

from lbauth.model import DBAuth

dbauth = DBAuth(
    driver = 'postgresql',
    username = 'user',
    password = 'passwd',
    host = 'localhost',
    port = '5432',
    database = 'dbname'
)

print(dbauth.test_method())
返回:

>database is 'dbname' and your user is 'user'
>database is 'dbname' and your user is 'user'
为什么它会这样,正确调用这个方法的正确方法是什么?

我发现了这个问题。
原来我是用
\uuuu init\uuuuu.py
来导入和测试脚本的,这是一种糟糕的做法。

我无法重现这一点;您发布的代码中没有任何内容会导致它打印两次。@MartijnPieters我认为这不是全部代码-必须在某个地方调用
test_method()
,但我没有魔法水晶球,是吗?@MartijnPieters我对整个代码进行了注释,只留下这一部分来确保,没有t@ElmoVanKielmo:这也可能是由自定义的
print()
函数或自定义的
sys.stdout
@Rickin:does
print('anythis')
打印两次造成的?
打印什么(repr(dbauth.test_method())
打印什么?