zoukankan      html  css  js  c++  java
  • 面向对象进阶

    class Foo(object):
    	def __init__(self, name, age):
    		self.name = name
    		self.age = age
    
    	def __getitem__(self, item):
    		if hasattr(self, item):
    			return self.__dict__[item]
    
    	def __setitem__(self, key, value):
    		self.__dict__[key] = value
    
    	def __delitem__(self, key):
    		del self.__dict__[key]
    
    
    foo = Foo("adong", "28")
    print foo["name"], foo["age"]
    
    foo["height"] = "175"
    print foo["height"]
    
    del foo["height"]
    print foo["height"]
    
    >>>
    adong 28
    175
    None
    

      

    class F:
    	def __init__(self, name):
    		self.name = name
    
    	def __new__(cls, *args, **kwargs):
    		return object.__new__(cls)
    
    
    f1 = F("adong")
    f2 = F("aqiang")
    
    print f1
    print f2
    >>>
    <__main__.F instance at 0x0000000003A70E88>
    <__main__.F instance at 0x0000000003A70E48>
    
    # 实例化的结果是两个对象
    

      

    class F:
    	__instance = False
    
    	def __init__(self, name):
    		self.name = name
    
    	def __new__(cls, *args, **kwargs):
    		if cls.__instance:
    			return cls.__instance
    		else:
    			cls.__instance = object.__new__(cls)
    			return cls.__instance
    
    
    f1 = F("adong")
    f2 = F("aqiang")
    
    print f1
    print f2
    >>>
    <__main__.F instance at 0x0000000003A90E88>
    <__main__.F instance at 0x0000000003A90EC8>
    
    
    # 单例模式,但是地址不一样,不知道是哪里的问题
    

      

  • 相关阅读:
    mongodb单机搭建
    zeus部署
    hive单机部署
    datax部署
    hadoop/hbase/hive单机扩增slave
    读取Jar中的json文件
    Mybatis 一对多 简单映射配置
    java/kotlin 读取文件、写入文件
    ES6中Json、String、Map、Object之间的转换
    java 客户端发起http请求2
  • 原文地址:https://www.cnblogs.com/chenadong/p/9595565.html
Copyright © 2011-2022 走看看