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(a)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 6e98f0a89..0dcd9e438 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