14 python

__new__方法:必须要有返回值

    def __new__(cls):

        return object.__new__(cls);

单例模式

    第一种方法:

    class User(object):

        __instance = None

        def __init__(self):

            @classmethod

            def get_instance(cls):

                if not cls.__instance:

                    cls.__instance = User()

                 return cls.__instance

       u1 = User.get_instance()

    第二种方法

    class User(object):

        __instance = None

        def __init__(self)

            pass

        def __new(cls):

            if not cls.__instance:

                cls.__instance = object.__new__(cls)

            return cls__instance

工厂模式:用工厂的方法代替new操作的一种模式 

    简单工厂模式:

        class Factory:

            @staticmethod

            def create_tool(type):

                if type == xx:

                    return Tool()

    工厂方法模式

        class Factory(object):

            def create_tool();

                pass

       class A_Factory(Factory):

            def create_tool():

                return A()

          

       class B_Factory(Factory):

            def create_tool():

                return B()

异常

    try

        pass

    except IOError,NameError:

        pass

    else: 没有出现异常的情况执行的代码

        pass

    finally: #不管出错不出错始终要执行的

         pass

    Exception:所有异常的顶级父类

自定义异常:   

    class PasswordException(Exception):

        def __init__(self):

            pass

        def __str__(self):

            return "密码异常"

抛出异常:

    raise PasswordException( )


        


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值