Explanation of OOP concepts in Python