python函数参数传递的疑问

第一个函数:

def getDataFromDb(db_list):
    try:
        conn = sqlite3.connect('appdata.db')
        # Get a cursor object
        cursor = conn.cursor()
        cursor.execute('''SELECT name, number FROM numbers5''')
        db_list = cursor.fetchall()
        # cursor.execute('''SELECT name FROM numbers5''')
        # list_valid = cursor.fetchall()
    except Exception as e:
        conn.rollback()
        raise e
    finally:
        conn.close()

调用getDataFromDb(db_list)后,list还是为空

第二个函数:

def getDataFromDb(db_list):
    try:
        conn = sqlite3.connect('appdata.db')
        # Get a cursor object
        cursor = conn.cursor()
        cursor.execute('''SELECT name, number FROM numbers5''')
        db_list = cursor.fetchall()
        # cursor.execute('''SELECT name FROM numbers5''')
        # list_valid = cursor.fetchall()
    except Exception as e:
        conn.rollback()
        raise e
    finally:
        conn.close()
    return db_list

调用db_list = getDataFromDb(db_list)后,db_list保存了从数据库中读出的数据

原因待查