# --------------------------------------------------
# -- Object Oriented Programming => Magic Methods --
# --------------------------------------------------
# Everything in Python is An Object
# __init__  Called Automatically When Instantiating Class
# self.__class__ The class to which a class instance belongs
# __str__   Gives a Human-Readable Output of the Object
# __len__   Returns the Length of the Container
#           Called When We Use the Built-in len() Function on the Object
# ------------------------------------------------------
class skill :
    def __init__(self):
        self.skills = ['html' , 'css' ,'js']
    def __str__(self):
        return f"this is my skills => {self.skills}"
    def __len__(self):
        return len(self.skills)
profile = skill()
print(profile)
print(len(profile))
profile.skills.append("PHP")
profile.skills.append("MYSQL")
print(len(profile))

