Colab

class Employee:
    name = ""
    id = ""
    tel = ""
    salary = 0
    height = 180
    
    def __init__(self, name, id, tel, salary = 9000):
        self.name = name
        self.id = id
        self.tel = tel 
        self.salary = salary
    
    def __str__(self):
        return "Employee(name='{0}', id='{1}', tel='{2}', salary='{3}')".format(self.name, self.id, self.tel, self.salary)
    
    def give_raise(self, amount):
        self.salary += amount
        
    #def __len__(self):
    #    return self.height
        
        

class FullEmployee(Employee):
    pension = 0
    
class TempEmployee(Employee):
    contractor = "other company"
    
    def __str__(self):
        return "TempEmployee(name='{0}', id='{1}', tel='{2}', salary='{3}')".format(self.name, self.id, self.tel, self.salary)

x = Employee("fred", "123453454", "0532345345435")

print(x)

Employee(name='fred', id='123453454', tel='0532345345435', salary='9000')
tmp = TempEmployee("fred", "123453454", "0532345345435")

type(tmp)

__main__.TempEmployee
tmp.contractor

'other company'
print(tmp)

TempEmployee(name='fred', id='123453454', tel='0532345345435', salary='9000')
x.name

'fred'
x.id

'123453454'
x.tel

'0532345345435'
def blah():
    print("blah1")
    

def blah():
    print("blah2")

blah()

blah2
print(x)

Employee(name='fred', id='123453454', tel='0532345345435', salary='0')
Employee(name='fred',  tel='0532345345435', id='123453454')

<__main__.Employee at 0x23b2489c7f0>
print([1, 2, 3, 4])

[1, 2, 3, 4]
[1, 2, 3, 4]

[1, 2, 3, 4]
x = { 1: "one", 2:"two"}

type(x.keys())

dict_keys
for k in x.keys():
    print(k)

1
2
type(open("test.py"))

_io.TextIOWrapper
x

<__main__.Employee at 0x23b248a7390>
x.give_raise(3000)

print(x)

Employee(name='fred', id='123453454', tel='0532345345435', salary='13000')
Employee.give_raise(x, 3000)

x.salary

16000
"{0:1.2f}".format(0.9999999)

'1.00'
str.format("{0:1.2f}", 0.999999)

'1.00'
x.give_raise(1000)

type(x).give_raise(x, 1000)

x.height

180
len(x)


    ---------------------------------------------------------------------------

    TypeError                                 Traceback (most recent call last)

    <ipython-input-79-a7f4a5366567> in <module>
    ----> 1 len(x)
    

    TypeError: object of type 'Employee' has no len()


type(x)

__main__.Employee
type(tmp)

__main__.TempEmployee
isinstance(x, Employee)

True
isinstance(tmp, TempEmployee)

True
isinstance(x, TempEmployee)

False
isinstance(tmp, Employee)

True