python内部类的用途是什么?

2023-12-03

Python 的内部/嵌套类让我很困惑。有什么事情是没有他们就无法完成的吗?如果有的话,那是什么东西?


引自http://www.geekinterview.com/question_details/64739:

内部类的优点:

  • 类的逻辑分组:如果一个类仅对另一个类有用,那么将其嵌入到该类中并将两个类保留在一起是合乎逻辑的。嵌套这样的“帮助类”使得它们的包更加精简。
  • 增加封装性:考虑两个顶级类 A 和 B,其中 B 需要访问 A 的成员,否则这些成员将被声明为私有。通过将类 B 隐藏在类 A 中,A 的成员可以声明为私有,并且 B 可以访问它们。另外B本身可以对外界隐藏。
  • 更具可读性、可维护性的代码:在顶级类中嵌套小类使代码更接近其使用位置。

主要优点是组织。任何可以通过内部类完成的事情can没有他们也能完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python内部类的用途是什么? 的相关文章

  • 如何打印前面有一定数量空格的整数?

    C has printf Xd Y 它只打印整数 X 并使其在控制台窗口上占据 Y 空格 例如 printf 3d 10 console 10 printf 5d 5 console 5 我如何在 python 3 中使用它 This pr
  • 有什么好的适用于 Google App Engine 应用程序的 AJAX 框架吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试在我的 Google App Engine 应用程序中实现 AJAX 因此我正在寻找一个好的
  • Discord.py 斜线命令在 cogs 中不起作用

    我正在构建一个不和谐的机器人 并且想要在 cogs 内使用斜杠命令 但这些命令不显示或工作 这是代码 cog guild ids 858573429787066368 861507832934563851 class Slash comma
  • NumPy 数组与 SQLite

    我在 Python 中见过的最常见的 SQLite 接口是sqlite3 但是有什么东西可以很好地与 NumPy 数组或 rearray 配合使用吗 我的意思是 它可以识别数据类型 不需要逐行插入 并提取到 NumPy rec 数组中 有点
  • 将列表值转换为 pandas 中的行

    我有数据帧 其中一列具有相同长度的 numpy ndarray 值 df list 0 Out 92 array 0 0 0 0 29273096 0 30691767 0 27531403 我想将这些列表值转换为数据框并从 df iloc
  • cxfreeze virtualenv 中缺少 distutils 模块

    从 python3 2 项目运行 cxfreeze 二进制文件时 我收到以下运行时错误 project dist project distutils init py 13 UserWarning The virtualenv distuti
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • 如何在 python 中使用交叉验证执行 GridSearchCV

    我正在执行超参数调整RandomForest如下使用GridSearchCV X np array df features all features y np array df gold standard labels x train x
  • Pandas 中每列的曲线拟合 + 外推值

    我有一个包含大约 300 列的数据集 每一列都与深度相关 Pandas DataFrame 的简化版本看起来像这样 import matplotlib pyplot as plt import numpy as np import pand
  • Pygame:有人可以帮我实现双跳吗?

    我知道已经有其他关于此问题的帖子了 但我的运动系统与我发现的有点不同 所以随后我问这个问题 我的运动系统基于一个名为的命名元组Move up left right down 然后就是这个 def update self move block
  • 在python中使用编解码器utf-8打开文件错误

    我在 windows xp 和 python 2 6 4 上执行以下代码 但它显示 IOError 如何打开名称带有 utf 8 编解码器的文件 gt gt gt open unicode txt euc kr encode utf 8 T
  • 将 str.contains 映射到 pandas DataFrame

    python 初学者 我正在寻找创建字符串的字典映射以及关联的值 我有一个数据框 想要创建一个新列 如果字符串匹配 则会将该列标记为 x df pd DataFrame comp dell notebook dell notebook S3
  • 为什么我会在 Python 字符串格式中使用除 %r 之外的其他内容?

    我偶尔会使用 Python 字符串格式 这可以像这样完成 print int i Float f String s 54 34 434 some text 但是 这也可以这样做 print int r Float r String r 54
  • 本地主机上的 Google App Engine GQL 查询

    我正在 Google App Engine Windows 上的 SDK 版本 1 7 0 上开发一个应用程序 我需要经常测试该应用程序 并且此测试涉及数据存储上的大量 GQL 查询 您可以在 App Engine 管理界面的浏览器中在线运
  • 尝试 numba 时出现巨大错误

    我在使用 numba 时遇到了大量错误 讽刺的是 正确的结果是在错误之后打印的 我正在使用最新的 Anaconda python 并安装了 numba conda install numba 一次在 Ubuntu 13 64 位和 anac
  • 如何创建简单的梯度下降算法

    我正在研究简单的机器学习算法 从简单的梯度下降开始 但在尝试用 python 实现它时遇到了一些麻烦 这是我试图重现的示例 我获得了有关房屋的数据 居住面积 以英尺为单位 和卧室数量 以及最终的价格 居住面积 英尺2 2104 卧室 3 价
  • 在自定义 keras 层的调用函数中传递附加参数

    我创建了一个自定义 keras 层 目的是在推理过程中手动更改前一层的激活 以下是基本层 它只是将激活值乘以一个数字 import numpy as np from keras import backend as K from keras
  • JSONDecodeError:额外数据:Python [重复]

    这个问题在这里已经有答案了 我使用以下代码从文件加载 json file file name obj list with open file as f for json obj in f obj list append loads json
  • 将二进制数转换为包含每个二进制数的数组

    我试图将二进制值转换为每个 1 0 的列表 但我得到默认的二进制值而不是列表 我有一个字符串 我将每个字符转换为二进制 它给了我一个列表 其中每个字符都有一个字符串 现在我试图将每个字符串拆分为值为 0 1 的整数 但我什么也得不到 if
  • 在Python中使用os.makedirs创建目录时出现权限问题

    我只是想处理上传的文件并将其写入工作目录中 该目录的名称是系统时间戳 问题是我想以完全权限创建该目录 777 但我不能 使用以下代码创建的目录755权限 def handle uploaded file upfile cTimeStamp

随机推荐

  • 在Python中动态定义/更新ctypes结构

    我已经在 ctypes 中创建了子结构和结构 如下所示 我在结构内部定义了具有某种预定义大小的子结构数组 根据要求SIZE可以设置为0最初 可能会根据用户输入而变化 from ctypes import class MySubStructu
  • 使用回调将 C 库 (GSL) 包装在 cython 代码中

    我是新手cython and c 我想使用 cython 来加快代码的性能 我想用gsl integration我的代码中的库用于集成 更新 test gsl pyx cdef extern from math h double log d
  • 如何在Android中每分钟获取gps坐标?

    我想每分钟获取我的坐标 即使用户没有移动 所以我使用 requestLocationUpdates 和以下参数 locMgr requestLocationUpdates LocationManager GPS PROVIDER 60000
  • NSMutableArray 内的块泄漏 (ARC)

    我有一些在块内的操作 此操作 仅更新一个UIImage像这样 UIImage image self myImage image 我的图像是通过访问互联网来计算的NSURLConnection 当我从互联网上收到图像时 我称该块为NSMuta
  • 如何优化在 postgresql 中查询这些数据?

    我的查询对于特定行来说速度很慢 Postgres 选择做一个Seq Scan而不是使用Index Scan对于某些行 我认为是因为它实际上比使用索引更快 以下是针对正常工作负载使用索引的查询计划 http explain depesz co
  • 高效构建FEM/FVM矩阵

    这是 FEM FVM 方程系统的典型用例 因此可能会引起更广泛的兴趣 从三角形网格 la 我想创建一个scipy sparse csr matrix 矩阵行 列表示网格节点处的值 该矩阵在主对角线上以及两个节点通过边连接的地方都有条目 这是
  • 本地化 MPMoviePlayerViewController 的“完成”按钮

    我正在使用 MPMoviePlayerViewController 来呈现视频 一切都按预期工作 但如果我将设备的语言切换为例如德语 完成 按钮未本地化 我尝试访问该按钮并将其设置为我自己的按钮实现 如下所示 MPMoviePlayerVi
  • 使 openGL 线连接起来

    现在我创建了一个多边形 然后我做了同样的事情 但使用 line loop 来绘制轮廓 我现在的问题是 如果我将线条粗细设置为高 则线条不会连接 它们的末端需要更长 线宽 有没有办法解决这个问题 Thanks glMatrixMode GL
  • Rails 条件验证

    所以我这里有两个模型 class Screen lt ActiveRecord Base belongs to user validates screen size numericality gt less than or equal to
  • 在 c 可执行文件中运行数据 shellcode

    我正在研究这个c 程序 我在 64 位 x64 linux 上用 gcc 编译它 include
  • 新的 React Context API 是否会触发重新渲染?

    我一直在尝试理解新的 React Context API 并正在使用它 我只是想检查一个简单的情况 当提供者的数据更新时 所有内容都会重新呈现 Check Codesandbox 上的这个小例子 所以 在我的例子中 我有一个App组件 具有
  • Paypal 支付 REST API Web 体验配置文件

    我正在使用 PayPal Rest API 并将 PayPal 与付款集成 我设法使用以下代码创建网络体验配置文件 但我无法运行此代码 2 次 它表示该配置文件已存在 这是否意味着我必须创建一个配置文件并将其用于所有客户和所有交易 Web
  • hbase 扫描仪的排序结果

    如何以相同的任何排序顺序检索 hbase 列族 值 like列族 值 列 1 1列 3 2列 4 3列 2 4 HBase 本身不会这样做 相反 您可以使用 Result raw 1 方法检索 KeyValues 列表 将其放入 List
  • F# 匹配两个值

    我对 F 相当陌生 我想使用 match with 语法比较两个值 当我尝试比较两个值时 问题就出现了 如下所示 let value1 19 let isValue1 y match y with value1 gt y 1 gt y 我收
  • 如果存在可能的未定义行为,为什么编译器不会警告您?

    我正在读著名的未定义的行为可能导致时间旅行发帖并注意到这部分 首先 您可能会注意到循环中的逐一错误 控制 结果是该函数读取了超过末尾的一位 放弃之前的表数组 经典编译器不会 特别关心 它只会生成代码来读取 越界数组元素 尽管事实上这样做是
  • C#:如何将组合框等项目列表保存到 .NET 设置文件中?

    C 如何将组合框等项目列表保存到 NET 设置文件中 设置设计器允许您使用的唯一集合类型是 System Collections ArrayList 如果您确实使用 ArrayList 则其所有元素的类型都必须是可序列化的 具有 Seria
  • 遗留 C/C++ 项目中的死代码检测 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 您将如何进行 C C 代码中的死代码检测 我有一个相当大的代码库可供使用 并且至少 10 15 是死代码 有没有基于 Unix 的工具来识别这个区域
  • mongodb 和 mongomapper

    我有一个 Rails 应用程序 当前使用 activerecord 来存储和查询产品 每个产品都有一个类别和子类别 每个子类别由我可以在应用程序中创建的多个字段定义 由此 当用户想要输入特定产品时 他们会被按下相关的表单字段 这已经变得非常
  • 贝宝集成问题

    我无法弄清楚我的代码做错了什么 我收到错误 我们检测到该购物车存在问题 如果问题仍然存在 请联系商家 这是我正在提交的表格
  • python内部类的用途是什么?

    Python 的内部 嵌套类让我很困惑 有什么事情是没有他们就无法完成的吗 如果有的话 那是什么东西 引自http www geekinterview com question details 64739 内部类的优点 类的逻辑分组 如果一