python 获取对象信息dir()

1 篇文章 0 订阅
1 篇文章 0 订阅
#!/bin/env python
#-*- coding: utf8 -*-
print "获取一个对象的所有属性与方法用dir():"
print dir('ABC')
print "字符串长度:"
print len('ABCDE')
print "字符串小写:"
print "ABC".lower()

#自定义字符长度
# class MyObject(object):
#     def __len__(self):
#         return 10
# obj = MyObject();
# print len(obj)

class MyObject(object):
    def __init__(self):
        self.x = 9
    def power(self):
        return self.x * self.x

obj = MyObject()
print "#######操作队形:getattr(),setattr(),hasattr()#######"
print "有属性x吗?:",hasattr(obj,'x')
print "打印x值:",obj.x
print "有属性y吗?:",hasattr(obj,'y')
print "没有属性y,添加y属性如下:"
setattr(obj,'y',32)
print "添加y属性成功,打印y值:",obj.y
print "用getattr函数获取y值:",getattr(obj,'y')
print "获取不存在的属性,抛出AttributeError错误:"
# print getattr(obj,'98k')
print '针对不存在的属性,添加默认值并返回该值:',getattr(obj,'98k',500)

print "################也可以获取对象的方法##################"
print "是否有power属性?",hasattr(obj,'power')
print "获取power属性:",getattr(obj,'power')
print "获取power属性赋值变量如下:"
fn=getattr(obj,'power')
print "调用fn()与power()是一样的:",fn()

print "正确的用法例子:"
def readImage(fp):
    if hasattr(fp,'read'):
        return readData(fp)
    return None

打印结果如下:

资料参考:https://www.liaoxuefeng.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值