zoukankan      html  css  js  c++  java
  • 创建对象的七种方式

      Python语言提供了多种创建对象的方式,这里列出其中方式,比如下面有一个类:

    class Bar:
    
        def __init__(self,x):
            print(x)
            self.x=x

    方式一:

      传统方式构建,将类对象当成构造器使用

    b1=Bar(4)

    方式二:

      把类名当成参数,使用eval()函数

    b2=eval("Bar(1)")

    方式三:

      使用getattr函数

    import sys
    b3=getattr(sys.modules[__name__],"Bar")(3)

    方式四:

      使用globals函数

    b4=globals()["Bar"](5)

    方式五:

      使用自定义函数创建对象

    def make_object(cls,*args,**kwargs):
        return cls(*args,**kwargs)
    
    
    b5=make_object(Bar,10)

    方式六:

      原型方式创建

    b6=copy.deepcopy(b5)
    b6.x=9

    方式七:

      使用__class__创建,使用新参数创建对象

    b7=b1.__class__(11) #__class__查看对象所在的类b1.__class_查看b1的类就是Bar
  • 相关阅读:
    mysql调优
    面试、。。。。
    StringBuffer 和 StringBuilder 的 3 个区别
    msql查询指定日期
    Windows 路由跟踪
    Xdebug配置
    ONVIF流媒体播放流程
    Windows 8 SP1 安装StockTrader 6.1
    使用log4c问题
    xcode插件安装
  • 原文地址:https://www.cnblogs.com/shenjianping/p/11077312.html
Copyright © 2011-2022 走看看