Hello
If I have the Vector class below, is there a means by which I can have
the following behaviour A = Vector(1, 2) print A
(1, 2)A = 0 print A
(0, 0)
If there is such a means, will it still work with the __slots__
attribution uncommented?
Thanks
class Vector(object):
#__slots__ = ('x', 'y')
def __init__(self, a=0, b=0 ):
self.x = a
self.y = b
def __repr__(self):
return '(%s, %s)' % (self.x, self.y) 6 1380
Gerard Flanagan wrote: Hello
If I have the Vector class below, is there a means by which I can have the following behaviour A = Vector(1, 2) print A (1, 2) A = 0 print A
(0, 0)
If there is such a means, will it still work with the __slots__ attribution uncommented?
No, you can't. The reason is that python doesn't have an assignment
operator as e.g. C++ has. The "=" just binds the name A to some object -
without the object knowing it.
What's wrong with
class A:
def clear():
pass
...
A.clear()
? Alternatively, you could try and abuse one of the seldom used in-place
operator like __ior__:
A |= 0
But I wouldn't recommend that.
Regards,
Diez
Gerard Flanagan wrote: Hello
If I have the Vector class below, is there a means by which I can have the following behaviour A = Vector(1, 2) print A (1, 2) A = 0 print A
(0, 0)
If there is such a means, will it still work with the __slots__ attribution uncommented?
No, you can't. The reason is that python doesn't have an assignment
operator as e.g. C++ has. The "=" just binds the name A to some object -
without the object knowing it.
What's wrong with
class A:
def clear():
pass
...
A.clear()
? Alternatively, you could try and abuse one of the seldom used in-place
operator like __ior__:
A |= 0
But I wouldn't recommend that.
Regards,
Diez
Gerard Flanagan wrote: If I have the Vector class below, is there a means by which I can have the following behaviour
A = Vector(1, 2) print A (1, 2) A = 0
that operation rebinds A; it doesn't affect the Vector instance in any way.
more here: http://effbot.org/zone/python-objects.htm
</F>
Gerard Flanagan wrote: If I have the Vector class below, is there a means by which I can have the following behaviour
A = Vector(1, 2) print A (1, 2) A = 0
that operation rebinds A; it doesn't affect the Vector instance in any way.
more here: http://effbot.org/zone/python-objects.htm
</F>
On 19 Nov 2005 05:29:07 -0800
"Gerard Flanagan" <gr********@yahoo.co.uk> wrote: If I have the Vector class below, is there a means by which I can have the following behaviour
A = Vector(1, 2) print A (1, 2)A = 0 print A
(0, 0)
As has already been mentioned, "A = 0" rebinds the name "A"
to the object "0" so there's no way it can mutate the object
A.
However, you could create an object "Origin" to use as a
vector zero:
Origin = Vector(0,0)
Or if you want to be shorter, more poetic, and make future
maintainers curse you, you can call it "O":
O = Vector(0,0)
;-)
--
Terry Hancock (ha*****@AnansiSpaceworks.com)
Anansi Spaceworks http://www.AnansiSpaceworks.com
On 19 Nov 2005 05:29:07 -0800
"Gerard Flanagan" <gr********@yahoo.co.uk> wrote: If I have the Vector class below, is there a means by which I can have the following behaviour
A = Vector(1, 2) print A (1, 2)A = 0 print A
(0, 0)
As has already been mentioned, "A = 0" rebinds the name "A"
to the object "0" so there's no way it can mutate the object
A.
However, you could create an object "Origin" to use as a
vector zero:
Origin = Vector(0,0)
Or if you want to be shorter, more poetic, and make future
maintainers curse you, you can call it "O":
O = Vector(0,0)
;-)
--
Terry Hancock (ha*****@AnansiSpaceworks.com)
Anansi Spaceworks http://www.AnansiSpaceworks.com This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Brian Munroe |
last post by:
I am just starting to learn the OO side of Python scripting, and I am
a little confused on the following. Take the following example class:
>>> class rectangle(object):
z = 1
def...
|
by: Gabriel Genellina |
last post by:
Hi
In the following code sample, I have:
- a Worker class, which could have a lot of methods and attributes. In
particular, it has a 'bar' attribute. This class can be modified as needed.
- a...
|
by: Dan Perl |
last post by:
There is something with initializing mutable class attributes that I am
struggling with. I'll use an example to explain:
class Father:
attr1=None # this is OK
attr2= # this is wrong...
|
by: bruno modulix |
last post by:
Hi
How can I make a *class* attribute read-only ?
The answer must be pretty obvious but I just can't find it (it's late
and I've spent all day on metaclasses, descriptors and the like, which,...
|
by: Graham |
last post by:
This has to do with class variables and instances variables.
Given the following:
<code>
class _class:
var = 0
#rest of the class
|
by: Gerard Flanagan |
last post by:
Hello
If I have the Vector class below, is there a means by which I can have
the following behaviour
>>>A = Vector(1, 2)
>>>print A
(1, 2)
>>>A = 0
|
by: S. Lorétan |
last post by:
Hi guys,
Sorry for this stupid question, but I don't know why it isn't working.
Here is my (example) code:
namespace Test {
class A {
public string Label1;
}
|
by: antred |
last post by:
Hello everyone,
While working on a program I encountered a situation where I'd
construct a largish data structure (a tree) from parsing a host of
files and would end up having to throw away...
|
by: Basilisk96 |
last post by:
This topic is difficult to describe in one subject sentence...
Has anyone come across the application of the simple statement "if
(object1's attributes meet some conditions) then (set object2's...
|
by: Vimpel783 |
last post by:
Hello!
Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
|
by: jfyes |
last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
|
by: ArrayDB |
last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
|
by: PapaRatzi |
last post by:
Hello,
I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
|
by: CloudSolutions |
last post by:
Introduction:
For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
|
by: Defcon1945 |
last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
|
by: af34tf |
last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
|
by: Faith0G |
last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome former...
| |