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 trial170597306460198501940249800169706170459385019750203950
1,552 Pointsthe "( )" after "text.upper( )"
English is not my first language so sometimes I keep scrubbing the video to understand what Craig is saying, and now I think I didn't get why a blank "( )" is needed after the "text.upper( )".
Why is this needed again? It also helps if I can be directed to a video where he discusses about it :)
1 Answer
Chris Freeman
Treehouse Moderator 68,441 PointsThe parens () signify that the method should be called. Without the parens, text.upper
is a reference to the method.
In Python, methods and functions are “first-class citizens” and may be referenced directly, assigned to a variable, and passed to other functions when the parens are not used.
Post back if you need more help. Good luck!!!
Tyler Marks
323 PointsTyler Marks
323 Pointsthe follow-up question I have is, I get that the functions get priority but why not still use parens simplicity ? or is there more to it?
Chris Freeman
Treehouse Moderator 68,441 PointsChris Freeman
Treehouse Moderator 68,441 PointsThere are solid use cases for executing the function or method vs getting just a reference to the function or method.
The parens are used when arguments are passed to the function during its execution. If no arguments are needed, then a pair of empty parens are used to say “execute, but no arguments are provided.”
With no parens, no execution of the function occurs. Instead a reference to the function is used.
One example,
Outputs:
Another less obvious use of passing a function is decorators. A decorated function is passed as an unexecuted function and an updated unexecuted function is returned in its place.