Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #70943

Re: Pass variable by reference

Newsgroups comp.lang.python
Date 2014-05-05 21:32 -0700
References <mailman.9690.1399348396.18130.python-list@python.org>
Message-ID <6fe61129-09d1-48eb-9877-effb7fa49d27@googlegroups.com> (permalink)
Subject Re: Pass variable by reference
From Rustom Mody <rustompmody@gmail.com>

Show all headers | View raw


On Tuesday, May 6, 2014 6:09:44 AM UTC+5:30, Satish Muthali wrote:
> Hello experts,
> I have a burning question on how to pass variable by reference in Python.

Technically correct answer: You cant. But see below.

> I understand that  the data type has to be mutable.

I dont know that mutability has any bearing on this


You can get mostly the effect of pass by reference by using:
- multiple values (tuple) return
- unpacking assignment 

Like so:

>>> def foo(x,y):
...   return x+1, y+3
... 
>>> x,y= 1,2
>>> x,y=foo(x,y)
>>> x,y
(2, 5)
>>> 


> For example, here's the issue I am running in to:
> I am trying to extract the PostgreSQL DB version for example:

> pgVer = [s.split() for s in os.popen("psql --version").read().splitlines()]
>     print pgVer[0]
>     for i, var in enumerate(pgVer[0]):
> 	    if i == len(pgVer[0]) - 1:
> 		    pgversion = var
> I would now like to pass 'pgversion' (where the value of pgversion is 9.3.4) by reference, for example:
> I want to nuke /var/lib/postgresql/9.3.4/main/data , however programatically I want it to be as:  /var/lib/postgresql/<value of pgversion>/main/data

I dont really understand your example

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Pass variable by reference Satish Muthali <satish.muthali@gmail.com> - 2014-05-05 17:39 -0700
  Re: Pass variable by reference Rustom Mody <rustompmody@gmail.com> - 2014-05-05 21:32 -0700
  Re: Pass variable by reference Steven D'Aprano <steve@pearwood.info> - 2014-05-06 08:18 +0000
    Re: Pass variable by reference Marko Rauhamaa <marko@pacujo.net> - 2014-05-06 12:11 +0300
      Re: Pass variable by reference Chris Angelico <rosuav@gmail.com> - 2014-05-06 19:53 +1000
        Re: Pass variable by reference Marko Rauhamaa <marko@pacujo.net> - 2014-05-06 13:38 +0300
          Re: Pass variable by reference Chris Angelico <rosuav@gmail.com> - 2014-05-06 20:45 +1000

csiph-web