explicit variable declaration

L

Luis Solís

Hi
It is possible to declare some variables as int, long... ? , or something
like visual basic option explicit.
In some situations could be usefull.
Thanks
 
M

Michel Claveau/Hamster

Hi !

"Variable" is a bad word - beurk ! - In Python there are ref-on-objects ;
it's without interest with declaration (explicit).

@-salutations
 
S

Samuel Walters

|Thus Spake Luis Solís On the now historical date of Mon, 05 Jan 2004
08:23:56 +0000|
Hi
It is possible to declare some variables as int, long... ? , or something
like visual basic option explicit.
In some situations could be usefull.
Thanks

Well, in python, that is left to programmer's discretion.
Once you get used to it, it's less of a hassle and danger zone than you'd
expect.

You can read GvR's (Our Benevolent Dictator For Life) thoughts
on contracts in python here:
http://www.artima.com/intv/pycontract.html

As a fallback, you can always use the isinstance() and type() functions to
check what type of variable you have on hand.

Generally, isinstance is what you want to use because it returns true for
subclasses. If the subclass doesn't do everything you'd expect of it's
superclass, then either your or the subclass writer have broken their
contract.

If you absotively posolutely must know that a variable is a certain class,
not a subclass and nothing but the bona fide variable type you expected,
then use type(). This, however, is seldom the case because using type()
could prevent future programmers from extending your code.

If you want even more assurances, look into pylint and pychecker:
http://www.logilab.org/projects/pylint
http://pychecker.sourceforge.net/

HTH

Sam Walters.

p.s. The python-tutor list is probably a better place to ask questions
like this. You're most likely to get helpful answers to questions about
the basics than you are here.
 
P

Peter Hansen

Michel said:
Hi !

"Variable" is a bad word - beurk ! - In Python there are ref-on-objects ;
it's without interest with declaration (explicit).

I'm not sure how helpful that is to a newbie, and in any case I've
been using Python for a reasonably long time now and I definitely
refer to those babies as variables.... with no ill effects to date.

-Peter
 
D

Dan Bishop

Samuel Walters said:
|Thus Spake Luis Solís On the now historical date of Mon, 05 Jan 2004
08:23:56 +0000|


Well, in python, that is left to programmer's discretion.
Once you get used to it, it's less of a hassle and danger zone than you'd
expect.

The main reason for this is that, in Python, using an unassigned
variable gives you a friendly NameError. In BASIC, it implicitly
creates a new variable (with a value of zero) whether you wanted it to
or not.

....
As a fallback, you can always use the isinstance() and type() functions to
check what type of variable you have on hand.

Or more accurately, what type of *object* you have on hand.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top