Mixin,able
父类后加  Mixin、able,称为辅类,引用辅类的子类后也需加  Mixin、able,
__str__ 
class Student():
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def __str__(self):
        return self.name  # 返回值必须是字符串   ,__str__型 返回什么打印就是什么
obj = Student('wuc', 18)
# print(obj.name)
print(obj)    
内置方法
__del__
class Student():
    def __init__(self, name, age):
        self.name = name
        self.age = age
	
    
    1.手动删除对象执行
    2.程序执行完毕后自动触发
    def __del__(self):
        print('__del__')
obj = Student('wuc', 17)
del obj
# print(obj.name)
#isinstance
print(isinstance('abb',int ))  判断‘abb’是否是int型
#issubclass
class Foo:
    pass
print(issubclass(Foo,object))  判断Foo是否是object的子类
__getattr__  没有此方法会报错,
# 当你访问的属性不存在时触发
__setattr__
#给对象设置值的时候触发
__delattr__
#删除属性的时候会触发
__call__
#对象加括号会执行__call__方法
obj = Foo()
obj()   # 会执行__call__
反射
getattr
# 取值   print(getattr(obj, 'school1', None))
hasattr   #判断obj里是否有其后的值
# print(hasattr(obj, 'school1'))
setattr   # 给其赋值
setattr(obj, 'x', 10)
delattr   #删除类中的值
delattr(Student, 'school')
print(Student.__dict__)
class Student():
    school = 'sh'
    def func(self):
        print("func")
obj = Student()
getattr(obj,'func')()    #相当于调用func
handler = getattr(obj,'func')
def test(*args,**kwargs)
	return handler(*args,**kwargs)
getattr(time,'sleep')(2)
 time = __import__('time')
 time.sleep(2)
异常处理
"""
1. 什么是异常?
    异常就是错误发生的信号,当遇到该信号就会抛出异常, 如果不对该异常做处理,那么, 此后的代码都不再执行
    具体来说,异常分类两种:
        1. 语法错误
            # SyntaxError
            print(11
        2. 逻辑错误:  尽量把逻辑写到完美
            print(x)
2. 为什么用异常?
    为了增强代码的可靠性,健壮性
3. 如何使用异常?
        try:
    # 被监测的代码1
    # 被监测的代码1
    # 被监测的代码1
    # 被监测的代码1
    # 被监测的代码1
    pass
except 异常信息1 as e:
    # 捕捉到异常信息
except 异常信息2 as e
# 捕捉到异常信息
except 异常信息3 as e
    # 捕捉到异常信息
except 异常信息4 as e
    pass
except Exception as e:
    pass
else:
    print("当被监测的代码没有异常时候执行")
finally:
    print("不管有没有异常都会执行的")
"""
raise 断言
  #  自定义异常
class Myexception(BaseException):
    def __init__(self, msg):
        self.msg = msg
    def __str__(self):
        return "异常信息:%s" % self.msg
raise Myexception("出异常了哈哈哈哈")
import flask_session