【发布时间】:2017-02-08 14:06:21
【问题描述】:
我有一个课程Dbcrud(),我将在下面概述。
我想从一个方法中获取几个参数:db_select() 一个是 selected_fields,这将是一个字段列表。
我无法形成我的方法db_select() 以允许为selected_fields 定义多个字段。
有人可以帮忙吗?
谢谢 更新
class DbCrud:
query_stmt_list = ['SELECT','INSERT','UPDATE','DELETE','FROM','WHERE']
def __init__(self):
self.query_stmt_list = DbCrud.query_stmt_list
self.query_stmt_list = query_stmt_list
def set_db_settings(self, host, username, passwd, database):
self.host = host
self.username = username
self.passwd = passwd
self.database = database
db = pymysql.connect(host=host, user=username, passwd=passwd, db=database)
return db
def db_select(self, selected_fields, table, where_field):
self.selected_fields = selected_fields
self.table = table
self.where_field = where_field
try:
with db.cursor() as cursor:
sql_tld_id_query = self.query_stmt_list[0] + selected_fields* + self.query_stmt_list[4] + table + self.query_stmt_list[5] + where_field + '=' + %s
cursor.execute(sql_tld_id_query, (self.site_search_url,))
tld_id_value = cursor.fetchone()
except:
db.rollback()
pass
【问题讨论】:
-
你有一个语法问题
selected_fields[]不能作为函数的参数,你需要调用它selected_fields,这个参数可以是任何你喜欢的。你还需要在__init__方法中定义self.query_stmt_list = query_stmt_list -
你有一个语法错误,你没有在 Python 中以任何方式指明变量的类型,除非你使用了类型注解。它应该是
selected_fields,没有尾随[]。如果您想出于文档目的显示其列表,可以使用selected_fields: List[Any],但您必须在文件顶部添加from typing import List, Any。
标签: python list python-3.x class methods