On 14/03/2016 20:31, BartC wrote:
On 14/03/2016 19:45, alister wrote:
On Mon, 14 Mar 2016 14:43:22 +0000, BartC wrote:
On 13/03/2016 09:39, Steven D'Aprano wrote:
On Sun, 13 Mar 2016 04:54 am, BartC wrote:
Common sense tells you it is unlikely.
Perhaps your common sense is different from other people's common
sense. To me, and many other Python programmers, it's common sense that
being able to replace functions or methods on the fly is a useful
feature worth having. More on this below.
Perhaps this is an example of the "Blub Paradox":
Perhaps it's time to talk about something which many languages have, but
Python hasn't. Not as far as I know anyway.
That's references to names (sometimes called pointers). So if I write:
a = 100 f(a)
then function f gets passed the value that a refers to, or 100 in this
case. But how do you pass 'a' itself?
Congratulations
you have just proven that you have faild in your understanimg of python @
stage 1 becuae you keep tying to us it a C
try the following
def test(x):
print (id(x)
a=100
print (id(a))
test(a)
a="Oops i was an idiot"
print (id(a))
test(a)
python always passes the object bound to a, not the value of a or a
pointer to a
Yes, and? I colloquially used 'value' instead of 'object', 'id' or
'reference'. The latter would added confusion as I'm talking about a
different kind of reference. And if you get rid of 'id' in your code,
you will get values displayed.
But how do you pass something that refers to a itself?
There are good reasons for wanting to do so. Try writing this function
in Python:
def swap(a,b):
b,a = a,b
x="one"
y="two"
swap(x,y)
print (x,y)
so that it displays "two" "one".
Global.
--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.
Mark Lawrence
--
https://mail.python.org/mailman/listinfo/python-list