how to use a Python function with keyword "self" in arguments
python, self
Solution
If the function is inside a class (a method), write it like this:
def get_list_stores(self, code):
And you have to call it over an instance of the class:
ls = LeclercScraper()
ls.get_list_stores(92)
If it's outside a class, write it without the `self` parameter:
def get_list_stores(code):
Now it can be called as a normal function (notice that we're not calling the function over an instance, and it's no longer a method):
get_list_stores(92)
Problem
i have a function that retrieve a list of stores in Python this functions is called : ``` class LeclercScraper(BaseScraper): """ This class allows scraping of Leclerc Drive website. It is the entry point for dataretrieval. """ def __init__(self): LeclercDatabaseHelper = LeclercParser super(LeclercScraper, self).__init__('http://www.leclercdrive.fr/', LeclercCrawler, LeclercParser, LeclercDatabaseHelper) def get_list_stores(self, code): """ This method gets a list of stores given an area code Input : - code (string): from '01' to '95' Output : - stores : [{ 'name': '...', 'url' }] """ ``` when i try to write `get_list_stores(92)` i get this error : ``` get_list_stores(92) TypeError: get_list_stores() takes exactly 2 arguments (1 given) ``` how can you help me with this ?