class Database:
def __init__(self, database_file):
self.connection = sqlite3.connect(database_file, check_same_thread = False)
self.cursor = self.connection.cursor()
print('__init__:', self.cursor) # и на этом print() вылетает ошибка?
print('__init__:', self.cursor)
и проверь, отработает ли она.
def func(a, *, b=42): ...
, то будут корректными следующие вызовы:А вот вызов
func(1, 2)
корректным не будет, так как тут b передаётся позиционно, а не по имени.Я звёздочку ставлю в лямбдах, чтобы уменьшить вероятность того, что лямбда будет вызвана с большим числом параметров. Ведь в этом случае вместо вспомогательного параметра index придёт чёрт знает что, и понять, что случилось, будет непросто. А так будет сообщение об ошибке, что index попытались задать позиционно, по которому можно догадаться, что случилось. Вероятность того, что лямбду по ошибке вызовут с "правильным" именным параметром всё же куда меньше.