Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们可以从python中的一个类中依次调用两个函数吗_Python_Sqlite_Oop - Fatal编程技术网

我们可以从python中的一个类中依次调用两个函数吗

我们可以从python中的一个类中依次调用两个函数吗,python,sqlite,oop,Python,Sqlite,Oop,这是我的代码。 我想要的是在一个函数之后调用另一个函数 class admin(): query = '' table = '' def __init__(self): constr = sqlite3.connect('meta.db') cur = constr.cursor() self.cur = cur def select(self, table): self.table = table

这是我的代码。
我想要的是在一个函数之后调用另一个函数

class admin():
    query = ''
    table = ''
    def __init__(self):
        constr = sqlite3.connect('meta.db')
        cur = constr.cursor()
        self.cur = cur
    def select(self, table):
        self.table = table
        query = "select * from {table}".format(table=self.table)
        # query = "select * from user"
        result = self.cur.execute(query)
        result = result.fetchall()
        return result
    def orderby(self, field):
        query += "ORDER BY {table}.{field} ASC".format(table=self.table,field=self.field)
        return query

mydb
admin
类的承包商,我想依次调用该类的两个函数。

我想您正在寻找这样的函数:

[12]中的
:A类:
…:def foo(self,msg):
…:self.msg=msg
…:打印(msg)
…返回自我
…:定义栏(自身,名称):
…:打印(self.msg,name)
在[13]中:a=a()
在[14]中:a.foo(“Hi”)
你好
在[15]中:a.foo(“Hi”).bar(“Shahriar”)
你好
嗨,沙里亚尔
因此,在您的情况下,可能如下所示:

类管理员:
定义初始化(自):
constr=sqlite3.connect('meta.db')
cur=constr.cursor()
self.cur=cur
def选择(自身,表格):
self.table=表格
self.query=“select*from{}”。格式(self.table)
回归自我
def订购人(自身,字段):
self.query+=“ORDER BY{}.{}ASC”。格式(self.table,字段)
回归自我
def执行(自我):
结果=self.cur.execute(self.query)
result=result.fetchall()
返回结果
测试:

mydb=admin()
mydb.select('usettable').orderby('id').execute()

查询完成后,您试图调用
orderby()
。现在修改查询已经太晚了。这还有很多其他问题,比如
select()
没有返回
admin
对象,因此不能对结果调用
orderby()
query
select()
方法中的局部变量,不能从
orderby()分配给它
。我猜您正在搜索函数的“装饰器”:看看:)与其尝试编写自己的ORM,不如使用SQLAlchemy之类的工具。
mydb = admin()
mydb.select('usettable').orderby('id')