Python学习28:类、实例的其它内建函数

#FileName:classMethod.py
#类、实例及其它对象的内建方法

#定义三个类Parent,Child,gc

class Parent:
    arr = 1000
    ls = ['Hello','Python','World']
    def __init__(self):
        print('Calling parent’s Constructor')
        
    def foo(self):
        print('Parent_____foo')
        
class Child(Parent):
    def __init__(self):
        super(Child,self).__init__()
        print('Calling Child’s Constructor')

    def foo(self):
        print('Child_____foo')
        
class gc(Child):
    def __init__(self):
        super(gc,self).__init__()
        print('Calling gc’s Constructor')
        
    def foo(self):
        print('gc_____foo')
        
#使用gc构建对象实例
g = gc()

#1、内建函数issubcalss(sub,sup):判断sub是否是sup的子类
print('issubclass(gc,Parent) = ',issubclass(gc,Parent))
print('issubclass(gc,Child) = ',issubclass(gc,Child))

#2、内建函数isinstance(obj1,obj2):obj1是obj2的一个实例
print('isinstance(g,Child) = ',isinstance(g,Child))
print()

#类属性的特性针对继承也使用(子类的修改类属性似于通过实例修改类属性的方式)
print('类继承:通过子类修改父类的类属性')
gc.arr = 10000
print(gc.arr)           #10000
print(Parent.arr)       #1000
gc.ls.pop(1)
print(gc.ls)
print(Parent.ls)
print(g.ls)

#3、内建函数hasattr(obj,arr):判断obj是否存在属性arr
print('hasattr(gc,\'arr\') == ',hasattr(gc,'arr'))

#其它内建函数
#getattr(obj,arr):获取实例obj的属性arr的值,如果不存在值,则返回AttrbuteError异常,类似于obj.attr
#setattr(obj,attr,val):设置实例obj属性attr的值为val,类似于:obj.attr = val
#delattr(obj,attr):从实例obj中删除属性attr,类似于del obj.attr
#vars(obj = None):返回obj的属性以及其值的一个字典,如果没有给出obj(类名):显示局部名字空间字典(属性及值),类似于locals()

print(vars(gc))
print(vars())
print(locals())


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值