python之函数用法getattr()

复制代码
# -*- 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  
复制代码

 

posted @   Xiao|Deng  阅读(452)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示