On Sunday, November 25, 2012 7:11:29 AM UTC-5, ALeX inSide wrote:
> How to "statically type" an instance of class that I pass to a method of 
> other instance?
> 
> 
> 
> I suppose there shall be some kind of method decorator to treat an argument 
> as an instance of class?
> 
> 
> 
> Generally it is needed so IDE (PyCharm) can auto-complete instance's methods 
> and properties.
> 
> 
> 
> Pseudo-python-code example:
> 
> 
> 
> i = MyClass()
> 
> 
> 
> xxx(i, 1, 2);
> 
> 
> 
> ...
> 
> def xxx(self, MyClass myclass, number, foobar):
> 
>    myclass.classsmethod() #myclass - is an instance of known class

I'm not sure I understand exactly what you sre asking.    Python uses "duck 
typing".  As far as Python is concerned, you can pass in any class object and 
so long as it has the needed methods, it'll suffice ("If it walks like a duck 
and it quacks like a duck, then it is a duck.").   The down side to that is 
that if you hand an object as an argument and the method you pass doesn't 
behave like the expected method class would, then bad things may happen at run 
time.  It would be a bit of a hassle to check types to make sure things at 
least smell OK before execution goes possibly awry, but you are certainly free 
to write guard code that makes those sort of checks.

My reply here is a bit different from the other replies I see so far.  I worry 
that may mean I mis-understood your question.    Has this been at all helpful 
an answer?
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to