|
%cat pytest1.py
class Dog:
def __init__(self,x): self.zn = x
def __getattr__(self,key): return key+' not found'
def __add__ (self,x): self.zn += x; return self.zn
def __radd__(self,x): self.zn += x; return self.zn
def __sub__ (self,x): self.zn -= x; return self.zn
def __rsub__(self,x): self.zn = x - self.zn; return self.zn
def __mul__ (self,x): self.zn *= x; return self.zn
def __truediv__ (self,x): self.zn /= x; return self.zn
def __mod__ (self,x): self.zn = self.zn%x; return self.zn
dog = Dog(1.1)
print(dog + 1)
print(1 - dog)
print(dog * 4)
print(dog/2)
print(dog % 3)
print(dog.zn)
print(dog.y)
%python pytest1.py
2.1
-1.1
-4.4
-2.2
0.7999999999999998
0.7999999999999998
y not found
class MyClass:
def __getitem__(self,key):
return getattr(self, key)
def __setitem__(self,key,value):
return setattr(self, key, value)
A = MyClass()
A['name']='alex'
print(A['name'])
# °á°ú
alex |
|