2015-02-14 16:36:59 +00:00
|
|
|
class A:
|
|
|
|
|
|
|
|
var = 132
|
|
|
|
|
|
|
|
def __init__(self):
|
|
|
|
self.var2 = 34
|
|
|
|
|
|
|
|
|
|
|
|
a = A()
|
|
|
|
setattr(a, "var", 123)
|
|
|
|
setattr(a, "var2", 56)
|
|
|
|
print(a.var)
|
|
|
|
print(a.var2)
|
2015-09-03 23:06:18 +01:00
|
|
|
|
|
|
|
try:
|
|
|
|
setattr(a, b'var3', 1)
|
|
|
|
except TypeError:
|
|
|
|
print('TypeError')
|
2018-02-07 04:44:29 +00:00
|
|
|
|
|
|
|
# try setattr on a built-in function
|
|
|
|
try:
|
|
|
|
setattr(int, 'to_bytes', 1)
|
|
|
|
except (AttributeError, TypeError):
|
|
|
|
# uPy raises AttributeError, CPython raises TypeError
|
|
|
|
print('AttributeError/TypeError')
|