面向对象

原创
2018/06/04 17:46
阅读数 80

        - 三大特性 
            - 封装 
                - 函数封装
                    class DB
                        def dbf1():
                            pass                           
                        def dbf1():
                            pass
                - 数据封装
                    def func1(obj):
                        pass                      
                    def func2(obj):
                        pass                
                    class Data:
                        def __init__(self,a1,a2,a3,a4)
                            self.a1 = a1
                            self.a2 = a2
                            self.a3 = a3
                            self.a4 = a4 
                    d1 = Data(11,22,33,44)
                    func1(d1)
                    func2(d1)
            - 继承     
            - 多态 
                class F1(object):
                    def send():
                        pass      
                class F2(object):
                    def send():
                        pass

                def func(arg):
                    arg.send()    
                obj1 = F1()
                func(obj1)

                obj2 = F2()
                func(obj2)
        - 常用__str__
            __init__ 
            __call__
            __new__
            __setattr__ 3
            __setitem__ 3
            __enter__
            __exit__
            __dict__
            __doc__
            __name__
            __del__
            
                class Foo(object):

                    def __add__(self, other):
                        return 666

                    obj1 = Foo() # int(1)
                    obj2 = Foo() # int(2)
                    v = obj1 + obj2
                    print(v)
        - metaclass 
            class MyType(type):
                def __init__(self,*args,**kwargs):
                    print('111111')
                    super(MyType,self).__init__(*args,**kwargs)

            class Foo(metaclass=MyType): # 默认每个的metaclass=type
                pass

#创建类:方式一
class Foo(object):
    pass
print(Foo)
#创建类方式二
Bar = type('Foo',(object,),{})
print(Bar)


    2. 根据字符串的形式导入模块
    
        importlib.import_module("xx.xx.path")
        
    3. 根据字符串的形式操作对象中的值
        getattr(对象,'xx')
        

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部