在 python 语言中我们能够方便地在类中定义类,在类中多次实例化类;
使用方法如下;
我们试图在 World 这个 class 里定义了一个 class Agent;
并试图在 World 的__init__方法中对 Agent 类实例化10次;

class World(object):def __init__(self):self.agent_lst = [self.Agent() for i in range(10)]for index,value in enumerate(self.agent_lst):print("the id of No.",index,"class is",id(value))class Agent(object):def __init__(self):print("Agent has been initialized")if __name__ == '__main__':       # main funcworld = World()print("finished")

程序的结果是;

Agent has been initialized
Agent has been initialized
Agent has been initialized
Agent has been initialized
Agent has been initialized
Agent has been initialized
Agent has been initialized
Agent has been initialized
Agent has been initialized
Agent has been initialized
the id of No. 0 class is 2343514440656
the id of No. 1 class is 2343514440128
the id of No. 2 class is 2343514441136
the id of No. 3 class is 2343514440848
the id of No. 4 class is 2343546802432
the id of No. 5 class is 2343551371872
the id of No. 6 class is 2343551258736
the id of No. 7 class is 2343551258688
the id of No. 8 class is 2343551258784
the id of No. 9 class is 2343551258832
finished

从输出结果来看,Agent 类确实被实例化了10次;
并且,这10次对应了不同的类变量;
同时,能从 id 看出,这些类变量占用了不同的内存地址;
证明不是同一个类变量被不断重新实例化了10次;

【Python】嵌套类的定义与使用相关推荐

  1. python嵌套类(内部类相互调用)_核心解密Python函数在(类与函数之间)和(类与类之间)互相调用...

    image.png 一.类与函数之间 首先来看一个函数间的调用 类方法: #实现类中函数之间互相调用 #下面一个学生的简单自我介绍为例子 __metaclass__=type #自由的.动态的修改/增 ...

  2. python在类中定义全局变量_python程序中用类变量代替global 定义全局变量

    在python编程中,一般使用global 关键字来定义全局变量,但是发现 global 关键字在涉及多个文件时,好像存在问题. 比如,单个文件下用global定义使用全局变量的情况 ,看下面的代码 ...

  3. Python自定义类中定义属性的两种方式

    封面图片:<Python程序设计开发宝典>,ISBN:9787302472100,董付国,清华大学出版社 图书详情:https://item.jd.com/12143483.html 京东 ...

  4. python 嵌套类实例_使用dict访问Python中嵌套的类实例

    您可以通过指定包含点的属性名称来使用operator.attrgetter来获取嵌套属性(需要Python 2.6+): After f = attrgetter('date.month'), the ...

  5. Python的类中定义函数的三种方式及其利用

    类中方法/函数: 普通方法 直接定义(含self) 类方法 @classmethod 静态方法 @staticmethod 类中变量: 静态变量 普通变量 定义在构造函数中(__init__) 看代码 ...

  6. python自定义类如何定义向量的模_gensim的word2vec如何得出词向量(python)

    首先需要具备gensim包,然后需要一个语料库用来训练,这里用到的是skip-gram或CBOW方法,具体细节可以去查查相关资料,这两种方法大致上就是把意思相近的词映射到词空间中相近的位置. 语料库t ...

  7. C++中嵌套类的使用

    一个类可以定义在另一个类的内部,前者称为嵌套类(nested class)或嵌套类型(nested type).嵌套类常用于定义作为实现部分的类.嵌套类可用于隐藏实现细节. 嵌套类是一个独立的类,与外 ...

  8. C++ Primer 5th笔记(chap 19 特殊工具与技术)嵌套类

    1. 嵌套类( nested class)或嵌套类型( nested type ) 一个类可以定义在另一个类的内部,这个类常用于定义作为实现部分的类. class TextQuery {public: ...

  9. kotlin学习之嵌套类和内部类(六)

    目录 1. Java中的内部类和嵌套类 2. kotlin中的嵌套类和内部类 1. Java中的内部类和嵌套类 //内部类,内部类持有了外部类的引用,所以在内部类中可以调用外部类的方法 public ...

最新文章

  1. 视觉SLAM中PNP求解
  2. Python中的super()用法
  3. 使用blowery.Web.HttpCompress.dll对aspx压缩
  4. 域名解析可以带端口吗_带互感器的三相电表接线,S2可以不接地吗?ABC相序可以错吗?...
  5. SQL基础知识:DDL、DML、DQL
  6. Angularjs切换网站配色模式简单示例1(切换css文件)
  7. axureR9 显示与隐藏 - 踩坑篇
  8. java数组清空能释放jvm内存嘛_JVM面试题汇总
  9. 水晶报表自定义函数进行代码重用 -日期大写
  10. 笔记本电脑禁用/启用自带键盘
  11. python按任意键退出_python按任意键继续程序
  12. 儿童节html5小游戏,六一儿童节游戏大全,六一儿童节游戏有哪些
  13. 99%的手机Root方法都在这里
  14. 安徽省二级计算机证书,在哪个网站打印安徽省二级计算机证书?
  15. NVMe驱动解析-注册设备
  16. 如何将Mac设置为热点?
  17. Android实现淘宝、京东首页浏览效果
  18. win11 删除自带的微软输入法
  19. django http 收发_django的日志发往http server
  20. 分式用c语言表达式,在C中表示分式

热门文章

  1. 什么是mock测试 等自己有时间好好研究一下
  2. python day10
  3. 使用阿里云容器服务Jenkins 2.0实现持续集成之the tag you want篇(updated on 2017.09.06)...
  4. source命令执行SQL脚本文件
  5. Eclipse中ICTCLAS 2011 的java调用
  6. 浏览器了解(一)浏览器大概流程
  7. 简化前端开发的javascript工具类收集
  8. mysql怎么查找删除重复数据_Mysql中如何查找并删除重复数据
  9. Matlab-中寻找峰值函数,波峰波谷
  10. 【机器学习】竞争神经网络(Competitive Neural Network)的python实现