By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,907 Members | 1,832 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,907 IT Pros & Developers. It's quick & easy.

Passing objects to a function

P: n/a
I'd like to write the parameter list of a method or function in a way
that makes the class of each parameter crystal clear, thus decreasing
the likelihood of a programming error.

I am programming a blackjack game with Card and Hand objects, and
these in turn have methods that require Card objects, Hand objects or
both. For example, the class Hand has a method BlackJackValue that
computes the value of a hand using the rules of blackjack. I'd like to
write the method (approximately) in the form

def BlackJackValue(hand=Hand):
adfsadf
adfasdf
Jul 18 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a

"Thomas Philips" <tk****@hotmail.com> wrote in message
news:b4**************************@posting.google.c om...
I'd like to write the parameter list of a method or function in a way
that makes the class of each parameter crystal clear, thus decreasing
the likelihood of a programming error.

I am programming a blackjack game with Card and Hand objects, and
these in turn have methods that require Card objects, Hand objects or
both. For example, the class Hand has a method BlackJackValue that
computes the value of a hand using the rules of blackjack. I'd like to
write the method (approximately) in the form

def BlackJackValue(hand=Hand):
adfsadf
adfasdf
.
.
.

It takes only one look at this method's definition to realize that it
requires an object of type Hand. Unfortunately, my mangled syntax
describes the way in which default parameters are passed, and does not
allow me to document the class of each parameter. What's the right way
to achieve my goal?

Sincerely

Thomas Philips


Since Python is not a language that supports manifest typing
(that is, type declarations) there is no "right" way to do what
you want. When I want to do something like that, I may go
Smalltalkish and say something like:

def BlackJackValue(aHand):

or I may go a bit more conventional and say something more
like:

def BlackJackValueOfHand(theHand):

In either case, you can always write a parameter name so that
it tells you something. Beyond that, it's simply a matter of setting
a convention and sticking to it rigorously.

John Roth
Jul 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.