AttributeError: модуль 'ClassMolecule' не имеет атрибута 'save_molecule' - PullRequest
0 голосов
/ 02 сентября 2018

Пытаясь понять концепцию классов в Python, я написал небольшую программу с molude 'ClassMolecule', в которой я могу определить атрибут молекул, а также метод для сохранения атрибутов моих молекул в файле.

Однако, когда я использую свой метод для сохранения свойств в файле, Python вызывает ошибку, говоря, что мой модуль - это не метод, который я использовал, то есть название моего вопроса, насколько я понимаю.

ClassMolecule.py

class Molecule:
    """
    Docstring
    """

    def __init__(self, name, T_eb, T_f, m_W, v_m, coefA, coefB, coefC):
        self.name = name
        self.T_eb = T_eb
        ...

    def save_molecule(self):
        with open('molecules_properties.txt', 'a') as f:
            for key, value in self.__dict__.items():
                f.append('%s:%s\n' % (key, value))

В другом файле, в той же папке я сделал:

import ClassMolecule as CM

    water = CM.Molecule('water', '373', '273', '18', '0.018', '8.07131', '1730.63', '233.426')
    CM.save_molecule(water)

И питон вызывает ошибку, как упоминалось выше. И я не понимаю почему, так как я определил свой метод в своем классе.

Заранее благодарю за помощь

1 Ответ

0 голосов
/ 02 сентября 2018

Правильный способ вызова метода save_molecule объекта water:

water.save_molecule()
...