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! While you're at it, check out some resources Treehouse students have shared here.
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 trialWes 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
229,744 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
229,744 PointsSteven Parker
229,744 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.