[wingide-users] Silly question about the parameters

Wingware Support support at wingware.com
Wed Mar 2 10:10:21 MST 2011


On 3/2/11 11:51 AM, Cesco wrote:
> Is there a way to declare in WingIDE that a certain parameter used in a function is an instance of something, in order to have the code intelligence working?

Yes, you can do this:

isinstance(mydate, datetime.datetime)

Or if you want to actually check the truth of that when running Python 
in debug mode (w/o the -O or -OO command line arg) you can do:

assert isinstance(mydate, datetime.datetime)

(assert goes away entirely when using -O or -OO)

> In Java, C#, VB.Net or any other language you don't have this problem, because (AFAIK... don't kill me if'm mistaken:)  they're strongly-typed languages, ...

Python is actually also strongly-typed but it is not statically typed so 
you can't necessarily know the types of things until runtime except 
through inference.  This is a subtle distinction, of course, and mostly 
only language designers will care about.

BTW, setting a breakpoint and debugging to it is a way to get runtime 
type information in the editor.  Wing uses the runtime type info when 
available (if the code being edited is somewhere on the debug stack in 
the paused debug process).  The Debug Probe does this also, for the 
currently selected debug stack frame.  I tend to use those capabilities 
rather than sprinkling isinstances all over the place.  I do use them 
for class/instance attributes because you get more mileage out of those, 
but doing it in every function isn't usually worth it.

-- 

Stephan Deibel
Wingware | Python IDE
Advancing Software Development

www.wingware.com



More information about the wingide-users mailing list