相关疑难解决方法(0)

在方法中用同一类型的另一个对象替换自身对象是否安全?

我想用这样的方法中的另一个实例替换对象实例:

class A:
    def method1(self):
        self = func(self)
Run Code Online (Sandbox Code Playgroud)

从数据库中检索对象.

python

36
推荐指数
4
解决办法
3万
查看次数

Python调用构造函数的成员函数

我们以这个类为例,它扩展了MySQLDB的连接对象.

class DBHandler(mysql.connections.Connection):
    def __init__(self,cursor=None):
        if cursor == None:
            cursor = 'DictCursor'

            super(DBHandler,self).__init__(host = db_host,
              user = db_user,
              passwd = db_pass,
              db = db,
              cursorclass=getattr(mysql.cursors, cursor))


    def getall(self,q,params=None):
        try:
           cur = self.cursor()
           cur.execute(q,params)
           res = cur.fetchall()
           return res
         except mysql.OperationalError:
            #this is the line in question
            pass


    def execute(self,q,params):
        cur = self.cursor()
        cur.execute(q,params)
        self.commit()
        return cur.lastrowid
Run Code Online (Sandbox Code Playgroud)

这对于更简单地访问常见的查询很有帮助.

在注释标记的行上,是否有可能在Python中调用对象构造函数,即使这是一个成员函数?我使用此示例来说明,因为它会在运行查询之前在超时时删除它时有效地重新建立连接.

我知道MySQLdb的ping()方法,这实际上只是一个能力问题. 在python中,是否可以从实例上调用的成员函数中调用构造函数来重新初始化该实例? 谢谢!

python oop constructor

2
推荐指数
1
解决办法
1911
查看次数

标签 统计

python ×2

constructor ×1

oop ×1