.Tang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

#类的几个函数:

1.
re= hasattr('对象','属性/方法名',[None])         #1.判断 对象属性/方法是否存在 返回布尔值
                          #还能判断模块的方法

2.

re= getattr('对象','属性','default')              #2.获取 对象的属性方法,

#属性/方法名不存在返回default
re= getattr('对象','方法')       #调用该方法
re()                #运行
print(re)              #返回内存地址
'''

3.
#3.设置 一个新的属性,先新建再赋值 属性存在,则修改
setattr('对象','添加新的属性','1')
print(hasattr('对象','添加新的属性')       #打印 True 1
setattr('对象','添加新的属性','2')        #属性存在,则修改
print(hasattr('对象','添加新的属性')        #打印 True 2

4.

delattr('对象','属性')        #4.删除 什么对象,对应什么属性 类对应类属性,实例对应实例属性

'''

5.
class A:
  pass
class B(A):
  pass

a=A()
re=issubclass(B,A)        #判断A类的 子类/派生类是不是B类  

print(re)

isinstance(a,A) #a=A()       # 可以判断a是不是A类的实例 

装饰器:

def Land_verification(func):
  def verification(*args,**kwargs):
    print('验证密码')
    print('验证成功')
    func(*args, **kwargs)
  return verification

@Land_verification
def land():
  print('登陆成功')

land()
>>> 验证密码
   验证成功
   登陆成功

 

posted on 2017-12-18 10:39  .Tang  阅读(135)  评论(0编辑  收藏  举报