询问多种方法参数的最佳方法

2024-03-28 23:00:43 发布

您现在位置:Python中文网/ 问答频道 /正文

def query_jaydebeapi(self, connect:dict, execute:dict) -> list:
    """
    :param connect: passed to jaydebeapi.connect()
    :type connect: dict
    :param execute: passed to jaydebeapi.Cursor.execute()
    :type execute: dict

    visit JayDeBeApi docs for latest keys.

    connect['jclassname']: Full qualified Java class name of the JDBC driver.
    connect['url']: Database url as required by the JDBC driver.
    connect['driver_args']=None: Usually sequence of username and password
    connect['jars']=None:  Jar filename or sequence of filenames for the JDBC driver.
    connect['libs']=None: Dll/so filenames or sequence of dlls/sos used
    execute['operation']: generally a query or command
    execute['parameters']=None: qmark parameters
    """
    conn=jaydebeapi.connect(**connect)
    ...
    cursor.execute(**execute)

我可以这样做:

def query_jaydebeapi(self, jclassname, url, operation, parameters=None, driver_args=None, jars=None, libs=None):

但它混合了连接键和执行键,因为我不能将默认值放在非默认值之前

如果连接接受了*args,**kwargs怎么办?或者总共有20个参数?有比第一个更好的选择吗


Tags: orofthenoneurlexecutedriverconnect