File: LP6E/Chapter27/_snippets.txt
# Larger code run in a REPL
>>> class FirstClass: # Define a class object
def setdata(self, value): # Define class's methods
self.data = value # self is the instance
def display(self):
print(self.data) # self.data: per instance
>>> class SecondClass(FirstClass): # Inherits setdata
def display(self): # Changes display
print(f'Current value = "{self.data}"')
>>> class ThirdClass(SecondClass): # Inherit from SecondClass
def __init__(self, value): # On "ThirdClass(value)"
self.data = value
def __add__(self, other): # On "self + other"
return ThirdClass(self.data + other)
def __str__(self): # On "print(self)", "str()"
return f'[ThirdClass: {self.data}]'
def mul(self, other): # In-place change: named
self.data *= other
>>> class Person:
def __init__(self, name, jobs, age=None): # class = data + logic
self.name = name
self.jobs = jobs
self.age = age
def info(self):
return (self.name, self.jobs)