<p><br>
On Dec 24, 2010 4:40 PM, "Flávio Lisbôa" <<a href="mailto:flisboa.costa@gmail.com">flisboa.costa@gmail.com</a>> wrote:<br>
>><br>
>>  copy, here, is a dict method. It will create a dict.<br>
>> If you really need it, you could try this:<br>
>><br>
>> import copy<br>
>> class neodict(dict):<br>
>>    def copy(self):<br>
>>        return copy.copy(self)<br>
>><br>
>> d = neodict()<br>
>> print type(d)<br>
>> dd = d.copy()<br>
>> print type(dd)<br>
><br>
><br>
> One more gotcha to python... OO in python is strange :p<br>
><br>
> IMO, if i subclass a class, all instance methods from a subclass instance should work with the subclass. But i'm guessing python doesn't make this distinction of instance/class methods like some other languages do (unless one uses annotations, what appears to be not the case with the dict class).<br>

><br></p>
<p>This isn't at all unique to Python. You'd get the same results in java or any other language. </p>
<p>public class Foo {<br>
    int a;<br>
    public Foo(int a) {<br>
        this.a = a;<br>
    }<br>
    public Foo clone() {<br>
        return new Foo(this.a);<br>
    }<br>
}</p>
<p>public class Bar extends Foo {<br>
   public Bar() {<br>
        super(0);<br>
   }<br>
}</p>
<p>What type do you think (new Bar()).clone() is going to return?<br></p>
<p>> Not that it inhibits me on using python in any way, in fact i do use python for my projects. I'm new to it, and I like some of its features, but some others are rather strange.<br>
><br>
> --<br>
> <a href="http://mail.python.org/mailman/listinfo/python-list">http://mail.python.org/mailman/listinfo/python-list</a><br>
><br>
</p>