# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法getattr() #getattr() #说明: ''' getattr(...) getattr(object, name[, default]) -> value default:默认值 Get a named attribute from an object; getattr(x, 'y') is equivalent to x.y. When a default argument is given, it is returned when the attribute doesn't exist; without it, an exception is raised in that case. ''' #案例 class A(): def __init__(self): self.a = 'a' def method(self): #print "method print" return 'xiaodeng' a = A() #如果有属性a则打印a,否则打印default print getattr(a, 'a', 'default') #a #如果有属性b则打印b,否则打印default print getattr(a, 'b', 'default') #default #如果有方法method,否则打印其地址,否则打印default print getattr(a, 'method', 'default') #<bound method A.method of <__main__.A instance>> #如果有方法method,运行函数并打印None否则打印default print getattr(a, 'test', 'default') #default