我们可以从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')