[virt-tools-list] [libvirt] [PATCH 11/22] WmiClass: Don't share "versions" between instances
Radostin Stoyanov
rstoyanov1 at gmail.com
Sat Mar 17 13:48:47 UTC 2018
Lists in Python are mutable and when used as a default value of a
parameter for class constructor, its value will be shared between
all class instances.
Example:
class Test:
def __init__(self, mylist=[]):
self.mylist = mylist
A = Test()
B = Test()
A.mylist.append("mylist from instance A")
print(B.mylist) # Will print ['mylist from instance A']
Signed-off-by: Radostin Stoyanov <rstoyanov1 at gmail.com>
---
src/hyperv/hyperv_wmi_generator.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/hyperv/hyperv_wmi_generator.py b/src/hyperv/hyperv_wmi_generator.py
index f98a77562..acb9e5440 100755
--- a/src/hyperv/hyperv_wmi_generator.py
+++ b/src/hyperv/hyperv_wmi_generator.py
@@ -44,9 +44,9 @@ class WmiClass:
to.
"""
- def __init__(self, name, versions = []):
+ def __init__(self, name, versions=None):
self.name = name
- self.versions = versions
+ self.versions = versions if versions else list()
self.common = None
--
2.14.3
More information about the virt-tools-list
mailing list