0

I am a beginner in Python and I am wondering how to prevent methods starting with an underscore (_) from being imported. I have a class called Scrapper which has four methods: get, save, _is_data_available, and _collecting_data. I only want the get and save methods to be imported by other modules.I tried adding all = ['get', 'save'] outside the class, but this did not work. How can I do this?

  • 1
    A method can't be *imported*, because it belongs to the namespace of a class, not a module. So `__all__` doesn't have an effect here. – slothrop Aug 23 '23 at 10:23
  • The underscore is sufficient. If a third-party caller chooses to ignore that convention, you should never try to prevent it. (Of course, if your own code ignores it, that's a bug which needs fixing). – ekhumoro Aug 23 '23 at 10:33

0 Answers0