| 1234567891011121314151617181920212223242526272829303132333435363738 |
- 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")
- # multiple bases with layout conflict
- try:
- class A(type, tuple):
- None
- except TypeError:
- print('TypeError')
|