python – AttributeError: ‘str’ object has no attribute ‘num_points’

Estou tentando criar um coletor de dados de um experimento que eu estou fazendo. Até o momento eu tenho o seguinte código:

em um arquivo experiments.py tem a classe:

import csv

class Experimento:
        
       def __init__(self, material: str, num_points: int, time: float=20.0, expType: str='varredura'):
            
            if expType not in ('varredura','ponto fixo'):
                raise ValueError('Tipo de experimento inválido. Selecione entre Varredura ou Ponto Fixo. n NOTA: não utilize letras maiúsculas!')
            
            self.num_points = num_points
            self.time = time
            self.material = material
            self.expType = expType

E a subclasse:

class Ponto_Fixo(Experimento):
    
    def __init__(self, material: str, num_points: int, x: int, z: int, time: float=20.0):
        Experimento.__init__(material, num_points, time, 'ponto fixo')
        self.x = x
        self.z = z
        self.expID = material + ' x' + str(self.x) + ' z' + str(self.z) + ' pt=' + str(num_points)
        
        header = ('data','material','ponto','x','z','contagem','tempo(s)')
        
        csv_title = '%s.csv' %(self.expID)
        with open('resultados'+ csv_title,'w') as file:
            writer = csv.writer(file)
            writer.writerow(header)

No main.py, eu executo esse código assim:

import experiments

if __name__ == "__main__":
    material = 'agua+CaCO3'
    expType = 'ponto fixo'
    tempo = 20.0
    num_points = 6
    x = 2
    z = 2

def new_experiment(material, num_points, tempo, x, z, expType):
        
    if expType == 'ponto fixo':
        
        experiments.Ponto_Fixo(material, num_points, x, z, tempo)
        
novo_exp = new_experiment(material, num_points, tempo, x, z, expType)

Porém, ao fazer essa execução eu obtenho o erro do título

  File "C:AdamDoutoradoLaboratorioTARGprogramsdata collectionmain.py", line 46, in <module>
    novo_exp = new_experiment(material, num_points, tempo, x, z, expType)

  File "C:AdamDoutoradoLaboratorioTARGprogramsdata collectionmain.py", line 37, in new_experiment
    experiments.Ponto_Fixo(material, num_points, x, z, tempo)

  File "C:AdamDoutoradoLaboratorioTARGprogramsdata collectionexperiments.py", line 113, in __init__
    Experimento.__init__(material, num_points, time, 'ponto fixo')

  File "C:AdamDoutoradoLaboratorioTARGprogramsdata collectionexperiments.py", line 37, in __init__
    self.num_points = num_points

AttributeError: 'str' object has no attribute 'num_points'

A linha que o programa acusa o erro é essa (que está dentro da classe Experimento):

self.num_points = num_points

Além disso, a linha que troca a tipagem da variável num_point de int para str está depois dessa linha do erro. Logo, não estou conseguindo enxergar onde e porque está ocorrendo a troca do tipo de int para str no num_point.

Alguém consegue dar uma luz?
Obrigado