initial creation
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
class Special():
|
||||
|
||||
def __init__(self, value):
|
||||
self._value = str(value) # <1>
|
||||
|
||||
def __add__(self, other): # <2>
|
||||
return self._value + other._value
|
||||
|
||||
def __mul__(self, num): # <3>
|
||||
return ''.join((self._value for i in range(num)))
|
||||
|
||||
def __str__(self): # <4>
|
||||
return self._value.upper()
|
||||
|
||||
def __eq__(self, other): # <5>
|
||||
return self._value == other._value
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
s = Special('spam')
|
||||
t = Special('eggs')
|
||||
u = Special\
|
||||
('spam')
|
||||
v = Special(5) # <6>
|
||||
w = Special(22)
|
||||
|
||||
print("s + s", s + s) # <7>
|
||||
print("s + t", s + t)
|
||||
print("t + t", t + t)
|
||||
print("s * 10", s * 10) # <8>
|
||||
print("t * 3", t * 3)
|
||||
print("str(s)={} str(t)={}".format(str(s), str(t)))
|
||||
print("id(s)={} id(t)={} id(u)={}".format(id(s), id(t), id(u)))
|
||||
print("s == s", s == s)
|
||||
print("s == t", s == t)
|
||||
print("s == u", s == u)
|
||||
print("v + v", v + v)
|
||||
print("v + w", v + w)
|
||||
print("w + w", w + w)
|
||||
print("v * 10", v * 10)
|
||||
print("w * 3", w * 3)
|
||||
Reference in New Issue
Block a user