[Python-bugs-list] [ python-Bugs-736467 ] params with default value in __init__ method doesn't work...

SourceForge.net noreply@sourceforge.net
Mon, 12 May 2003 07:41:39 -0700


Bugs item #736467, was opened at 2003-05-12 16:41
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=736467&group_id=5470

Category: Python Interpreter Core
Group: Python 2.2.1
Status: Open
Resolution: None
Priority: 5
Submitted By: Valery T. (vlry)
Assigned to: Nobody/Anonymous (nobody)
Summary: params with default value in __init__ method doesn't work...

Initial Comment:
The handling of constructor parameters with default
value have a problem when called many times...

It is like the value is cached or something. 

This is very annoying and easily reproducible :-(

Below is the output of what I get on win32 2.2.1
(attached is the code to reproduce)

Sincerly,
Vlry


output:

Python 2.2.1 (#34, Apr  9 2002, 19:34:33) [MSC 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for
more information.
>>> import bug
>>> bug.main()

BUG using params with default params...

test1= test()
0) __init__ []
1) self.params= []
2) self.params= []
3) self.params= ['default']
test1.getParams() => ['default']
test2= test()
0) __init__ ['default']
1) self.params= []
2) self.params= ['default']
3) self.params= ['default', 'default']
test2.getParams() => ['default', 'default']
test3= test()
0) __init__ ['default', 'default']
1) self.params= []
2) self.params= ['default', 'default']
3) self.params= ['default', 'default', 'default']
test3.getParams() => ['default', 'default', 'default']

OK using initialized params

testA= test(['A'])
0) __init__ ['A']
1) self.params= []
2) self.params= ['A']
3) self.params= ['A', 'default']
testA.getParams() => ['A', 'default']
testB= test(['B'])
0) __init__ ['B']
1) self.params= []
2) self.params= ['B']
3) self.params= ['B', 'default']
testB.getParams() => ['B', 'default']
testC= test(['C'])
0) __init__ ['C']
1) self.params= []
2) self.params= ['C']
3) self.params= ['C', 'default']
testC.getParams() => ['C', 'default']
>>>


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=736467&group_id=5470