def func(a, *, b=42): ...
, то будут корректными следующие вызовы:func(1)
func(a=1)
func(1, b=2)
func(a=1, b=2)
func(1, 2)
корректным не будет, так как тут b передаётся позиционно, а не по имени.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() вылетает ошибка?
Тут я повторю рекомендацию из ответов. Используй специализированные либы для работы с геоданными.
Причина очень простая: один градус долготы имеет разную длину в километрах в зависимости от широты. Так что наивное евклидово расстояние тут не стоит использовать.