1 2class test(object): 3 a = 1 4t = test() 5 6def getattr2_literal_unicode(a): 7 """ 8 >>> getattr2_literal_unicode(t) 9 1 10 >>> getattr2_literal_unicode(object()) 11 Traceback (most recent call last): 12 AttributeError: 'object' object has no attribute 'a' 13 """ 14 return getattr(a, u"a") 15 16def getattr3_literal_unicode(a, b): 17 """ 18 >>> getattr3_literal_unicode(t, 2) 19 (1, 2) 20 """ 21 return getattr(a, u"a", b), getattr(a, u"b", b) 22 23def getattr2_simple(a, b): 24 """ 25 >>> getattr2_simple(t, 'a') 26 1 27 >>> getattr2_simple(t, 'b') 28 Traceback (most recent call last): 29 AttributeError: 'test' object has no attribute 'b' 30 """ 31 return getattr(a, b) 32 33def getattr3_explicit(a, b, c): 34 """ 35 >>> getattr3_explicit(t, 'a', 2) 36 1 37 >>> getattr3_explicit(t, 'b', 2) 38 2 39 """ 40 return getattr3(a, b, c) 41 42def getattr3_args(a, b, c): 43 """ 44 >>> getattr3_args(t, 'a', 2) 45 1 46 >>> getattr3_args(t, 'b', 2) 47 2 48 """ 49 return getattr(a, b, c) 50