Static Typing in Python

srijit at yahoo.com srijit at yahoo.com
Sat Mar 13 06:10:55 EST 2004


Hello,
Try Traits (http://www.scipy.org/site_content/traits).

Regards,
Srijit

Premshree Pillai <premshree_python at yahoo.co.in> wrote in message news:<mailman.349.1079161675.19534.python-list at python.org>...
> --- Jacek Generowicz <jacek.generowicz at cern.ch>
> wrote: > Jacek Generowicz <jacek.generowicz at cern.ch>
> writes:
> > 
> > > Peter Maas <fpetermaas at netscape.net> writes:
> > > 
> > > > Premshree Pillai schrieb:
> > > > > How do I force static typing in Python?
> > > > 
> > > > You have to enforce it by code instead of
>  declaration, i.e. you
> > > > have to do runtime type checking.
> > > 
> > > Just what do you understand "static typing" to
> > mean ?
> > 
> > I ask because I am prepared to accept that you have
> > a different
> > working definition of "static typing" from mine, but
> > people who
> > actually want static typing typically want it
> > because they think it
> > gives them the following advantages:
> > 
> > a) type errors caught at compile time,
> > 
> > b) faster program exectution.
> > 
> > The code you showed:
> > 
> > > > class doesTypeChecking:
> > > >      def __init__(self):
> > > >          self.__dict__["aString"] = ""
> > > >          self.__dict__["aFloat"] = 0.0
> > > > 
> > > >      def __setattr__(self, attr, value):
> > > >          if type(self.__dict__[attr]) !=
>  type(value):
> > > >              raise ValueError, "Type mismatch
> > for attribute %s\n" % attr
> > 
> > will catch no type errors at compile time, and will
> > slow down
> > execution, so I suspect that Premshree will be
> > disapponinted with it.
> > 
> > 
> > (BTW, my definition of "static typing" is "type
> > checking is done at
> > compile time" ... your example really looks like
> > dynamic typing to
> > me ... albeit with some restrictions on attribute
> > types.)
> > 
> > 
> > Premshree: Python is dynamically typed. There is no
> > way to enforce
> >            static typing. There is something called
> > "pychecker" which
> >            might be of some help to you. Why do you
> > think that you
> >            want static typing in Python ?
> > -- 
> > http://mail.python.org/mailman/listinfo/python-list 
> 
> Yes, I am aware that Python is dynamically typed, and
> so is Perl, right? In Perl, we have the "use strict
> vars" pragma to force variable declaration. Is there
> something like it in Python?
> 
> Don't you think forced variable declaration is an
> important requirement in a language?
> 
> =====
> -Premshree
> [http://www.qiksearch.com/]
> 
> ________________________________________________________________________
> Yahoo! India Insurance Special: Be informed on the best policies, services, tools and more. 
> Go to: http://in.insurance.yahoo.com/licspecial/index.html



More information about the Python-list mailing list