call by reference (c module)
Michael Hudson
mwh at python.net
Wed Nov 13 06:16:28 EST 2002
More information about the Python-list mailing list
Wed Nov 13 06:16:28 EST 2002
- Previous message (by thread): How do I reply to an item in the list ? - testing without preview
- Next message (by thread): call by reference (c module)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Brian Lee <senux at senux.com> writes: > Hi, I am newbie! > > (1) call by reference > > I am trying to make a simple C module. Follow is a brief example > for my situation. How can I use `call by reference' to put argument > value to C module? > > a = 1 > import some_c_module > some_c_module.function(a) # function change variable a to 2 > print a # I want a to be 2 (not 1) Can't be done. You could try reading one of these pages: http://effbot.org/guides/python-objects.htm http://starship.python.net/crew/mwh/hacks/objectthink.html to get some understanding of why. Actually, that's a slight lie; but ((PyIntObject*)ob)->ob_ival++; is a *REALLY* bad idea: you would then have >>> a = 1 >>> import some_c_module >>> some_c_module.function(a) # function change variable a to 2 >>> print a 2 >>> 1 2 # oops! don't even think of doing this -- I only mention this to discourage you, so if you hadn't thought of this, forget the last few lines of my post... > (2) un-fixed size of arguments to a C module. > > Is there any (easy) way to put un-fixed size of arguments to a > C module? I tested PyArg_ParseTuple() but I don't know how to > manage un-fixed size of values with it. Optional arguments are easy; just use the | character in the arglist parameter to PyArg_ParseTuple. For more flexible behaviour, noone says you have to call PyArg_ParseTuple... it's just a convenience function. Cheers, M. -- My hat is lined with tinfoil for protection in the unlikely event that the droid gets his PowerPoint presentation working. -- Alan W. Frame, alt.sysadmin.recovery
- Previous message (by thread): How do I reply to an item in the list ? - testing without preview
- Next message (by thread): call by reference (c module)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list