python中类变量的惊人行为

我是Python的新手。我有两节课。

class BaseSpreadsheetReportView(APIView):
    mapping = {}
    def post(self, request):
    mapping['test'] = 'Test'

class EventLogReport(BaseSpreadsheetReportView):
    //business logic

我正在调用EventLogReport,但观察到同一映射对象与EventLogReport的所有实例共享。因此对于第一个请求映射对象为空,但对于第二个请求,它包含'test'。

疑问:

  1. python是否与所有线程和实例共享同一对象?
  2. 如果类变量对于所有线程和实例都是通用的,那么在Race条件下覆盖值将是一个问题?