Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trial

Wes House
6,944 PointsWhy "hand = hands.Hand(size=5, die_class=dice.D6)" rather than "hand = Hand(size=5, die_class=dice.D6)" in the console?
I don't understand why hands.Hand() part. Why do we need to call the name of the file with an attribute of Hand(size=5, die_class=dice.D6)?
1 Answer

Steven Parker
225,652 PointsYou didn't provide a link to a course page, but I'd guess that "hands" was imported as a module and the class "Hand" wasn't specifically imported:
import hands # with this you must call hands.Hand()
#----------------------------- OR ----------------------------
from hands import Hand # with this you can simply call Hand()
Wes House
6,944 PointsWes House
6,944 PointsSorry, it's from this lesson: https://teamtreehouse.com/library/giving-a-hand
And the issue I'm referring to happens at 2:15.
Steven Parker
225,652 PointsSteven Parker
225,652 PointsI guessed it! At 2:08 he says "And let's import dice, and let's import hands.". He does that with this code:
import dice, hands
So those imports give you access to the files, but not directly to the classes within them. You still need to name the module to get to the class. And that explains "
hands.Hand()
".If he had done the other kind of import, then "
Hand()
" could be used.