• 嵌套


    嵌套

    • 函数:参数可以是任意类型

    • 字典:对象和类都可以做字典的key和value

      class Foo(object):
          pass
      
      obj1 = Foo()
      obj2 = Foo() #s虽然二者均是Foo(),但同时作为字典的键却是可以的,
      # 因为实例化两个对象其实为开辟了两块不同的内存,所以是不同的东西, 
      
      info = {"1":1,Foo:123,obj1:111,obj2:222}
      print(info)
      print(info[Foo])
      
    • 继承的查找关系

      class Stark(object):
          def __init__(self,name,age):
              self.name = name
              self.age = age
      
      class Admin(object):
          def __init__(self):
              self.data_list = []
              self.sk = None
      
          def set_sk(self,arg):
              self.sk = arg
      
      site = Admin() #自动执行__init__,此时site为data_list = [] sk = None
      site.set_sk(Stark)#此处的self为site
      site.sk("yang",23)
      '''
      思考:
      关键是self所代表的含义
      目前可以认为__init__就是把值封装到实例化的对象中,然后再调用self时,此时的self便为实例化的对象
      
      '''
      
      class Stack(object):
          pass
      
      class Foo(object):
          pass
      
      class Base(object):
          pass
      
      class Admin(object):
          def __init__(self):
              self._register = {}
      
          def register(self,key,arg):
              self._register[key] = arg
      
      site = Admin()
      site.register(1,Stack)
      site.register(2,Stack)
      site.register(3,Stack)
      site.register(4,Foo)
      site.register(5,Base)
      
      for k,v in site._register.items():#site._register必然是一个字典,因为其不断的覆盖补充,所以self代表的是谁显得很重要
          print(k,v)
      
      
  • 相关阅读:
    (OK) usbip-utils
    How To Set Up A USB-Over-IP Server And Client With Ubuntu 10.04
    linux内核模块获取设备IP地址
    (OK) 国内常用NTP服务器地址及IP
    2017年我国将开始部署和建设IPv6地址项目
    C++之STL和Boost
    linux内核IOCTL网络控制框架实现分析
    2016年 AI 技术发展综述
    2016年SDN/NFV开源三大趋势
    Angular
  • 原文地址:https://www.cnblogs.com/yangzilaing/p/14009843.html
Copyright © 2020-2023  润新知