Paul Sokolovsky
11 years ago
2 changed files with 68 additions and 0 deletions
@ -0,0 +1,31 @@ |
|||
class mylist(list): |
|||
pass |
|||
|
|||
a = mylist([1, 2, 5]) |
|||
# Test setting instance attr |
|||
a.attr = "something" |
|||
# Test base type __str__ |
|||
print(a) |
|||
# Test getting instance attr |
|||
print(a.attr) |
|||
# Test base type ->subscr |
|||
print(a[-1]) |
|||
a[0] = -1 |
|||
print(a) |
|||
# Test another base type unary op |
|||
print(len(a)) |
|||
|
|||
# Test binary op of base type, with 2nd arg being raw base type |
|||
print(a + [20, 30, 40]) |
|||
# Test binary op of base type, with 2nd arg being same class as 1st arg |
|||
# TODO: Faults |
|||
#print(a + a) |
|||
|
|||
def foo(): |
|||
print("hello from foo") |
|||
|
|||
try: |
|||
class myfunc(type(foo)): |
|||
pass |
|||
except TypeError: |
|||
print("TypeError") |
@ -0,0 +1,37 @@ |
|||
class Base1: |
|||
def __init__(self, *args): |
|||
print("Base1.__init__",args) |
|||
|
|||
class Clist1(Base1, list): |
|||
pass |
|||
|
|||
class Ctuple1(Base1, tuple): |
|||
pass |
|||
|
|||
a = Clist1() |
|||
print(len(a)) |
|||
a = Clist1([1, 2, 3]) |
|||
print(len(a)) |
|||
|
|||
a = Ctuple1() |
|||
print(len(a)) |
|||
a = Ctuple1([1, 2, 3]) |
|||
# TODO: Faults |
|||
#print(len(a)) |
|||
|
|||
print("---") |
|||
|
|||
class Clist2(list, Base1): |
|||
pass |
|||
|
|||
class Ctuple2(tuple, Base1): |
|||
pass |
|||
a = Clist2() |
|||
print(len(a)) |
|||
a = Clist2([1, 2, 3]) |
|||
print(len(a)) |
|||
|
|||
#a = Ctuple2() |
|||
#print(len(a)) |
|||
#a = Ctuple2([1, 2, 3]) |
|||
#print(len(a)) |
Loading…
Reference in new issue