python - 在 python 中为 init 使用其他名称
问题描述
我正在学习使用 python 实现数据结构。我意识到 __init__ 方法被用作构造函数(我在 C++ 中读过),我的疑问是
我们可以使用其他名称,例如 __loader__ 而不是 __init__ 并获得结果吗?
init 是关键字还是只是一个约定,例如在内部使用的变量名的开头使用单个下划线(忽略它在排除其导入时的用法)
解决方案
__init__
是将作为对象实例化过程的一部分调用的方法。如果您的对象没有完全符合该名称的方法,则不会在对象实例化期间调用它。您当然可以随时手动调用任何其他方法,但它不会成为对象实例化的一部分。
它不是关键字,而是为特定目的保留的方法名称。与您无法实现自定义比较函数的方式相同__foobar__
,__lt__
并且仍然期望在执行a < b
.
推荐阅读
- ml.net - 如何在 ML.NET 中获取 OneHotEncoding 标签
- list - SwiftUI Mac OS 如何将选择添加到列表视图
- c# - c#如何将阿拉伯字符编码为excel
- python - LSTM Keras 输入形状混淆
- google-sheets - 是否有从多个选项卡访问范围的动态方式?
- elasticsearch - 如何将文档添加到我的弹性搜索?
- python - 如何在框架内显示标签,而不是代替它们
- python-3.x - 将 Dataframe 导入 Firebase-admin
- angular - ngrx-angularfire 设置问题
- javascript - 如何在 ejs 模板中调用 javascript 函数?