python - 如何正确重新初始化python对象?
问题描述
例如,我有这个类:
class A:
def __init__(self):
self.a = 10
在实例生命周期中,我将 a 的值更改为 20
test = A()
test.a = 20
我可以通过哪种方式正确地重新初始化此实例以设置默认值?
调用 __ init__ 的方式好吗?
解决方案
调用 an__init__
可以解决问题,但我不建议这样做,因为其他人可能更难阅读您的代码来快速理解您正在尝试做什么。我会创建一个reset()
函数:
class A:
def __init__(self):
self.a = 10
def reset(self):
self.a = 10
现在,
test = A()
test.a = 20
test.reset() # now test.a = 10
为了避免代码重复,您还可以reset()
从以下调用该函数__init__
:
class A:
def __init__(self):
self.reset()
def reset(self):
self.a = 10
推荐阅读
- xamarin - Xamarin Forms ProgressBar 高度不可控
- angular - kendo-ui angular 6 如何在多个网格之间排列/复制宽度?
- node.js - admin.messaging().sendToDevice() 没有运行。节点.JS
- nattable - Nattable 自定义标签累加器
- html - 如何使textarea标签正确显示
- sql - 为什么存储过程为每个组返回错误的总和?
- java - Spring amqp 在侦听器之外拒绝消息
- c# - 并排显示图像的一半 - OpenGL
- jqxgrid - 我在使用激活列排序和分组的 jqxgrid 时遇到键盘导航问题
- javascript - 某些更新后,Firefox 中的文本框无法 CTRL + V(粘贴)