modifying string objects
Uwe Mayer
merkosh at hadiko.de
Thu Jun 13 11:40:02 EDT 2002
[This followup was posted to comp.lang.python and a copy was sent to the
cited author.]
hi,
strings are immutable in python. so what do i do if i need to pass a
function a string as parameter and need it to be modified within the
function so that changes are reflected outside of the function body?
f.e. a class constructor must return None
class foobar:
def __init__(text):
text = text[-1] #this is what i actually want
however:
teststr = 'dummy'
foobar(teststr)
print(teststr)
prints "dummy" to the screen.
i _could_ use the globals() function in the object. how 'bad' is this
style considered to be? can i do it or will i be flamed by other python
programmers afterwards? ;-)
another question. from perl i konw that f.e.
foo(text = 'some value')
works in the way that first "text" is assigned 'some value' which is
then passed to the function "foo". i know that the above syntax is used
to assign the named parameter "text" the value 'some value' and if there
is no such parameter an error message is produce by the interpreter, but
why do such language constructs not work in python?
another example:
if (value = myFile.read(10)) == '': ...
?
Thanks in advance
Uwe
More information about the Python-list
mailing list