Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Well done!
You have completed Functions, Packing, and Unpacking!
You have completed Functions, Packing, and Unpacking!
Preview
Now that you understand packing, learn about its opposite: unpacking!
This video doesn't have any notes.
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
All right, that you're familiar with
packing, let's talk about unpacking.
0:00
Unpacking is basically
the opposite of packing.
0:03
It's exploding a Python sequence
into individual variables.
0:06
This is also sometimes
called multiple assignment.
0:10
You'll see this often in function returns,
but
0:13
that's definitely not the only
place where this comes in handy.
0:15
The same is true for packing as well.
0:18
Both packing and unpacking are extremely
useful Python tools that you can take
0:19
advantage of throughout your codebase.
0:23
Here we have a function called unpacker.
0:25
Unpacker doesn't do a whole lot.
0:28
It simply returns a tuple
with three values in it.
0:29
One, two, and three.
0:32
Unpacking, however,
0:34
allows us to assign each of those values
inside the tuple to its own variable.
0:35
That's gonna look like this.
0:40
Let's discuss what's happening here.
0:50
On the right side of this variable
assignment, I'm calling the function,
0:51
unpacker.
0:55
Unpacker returns a tuple
containing the values 1, 2, and 3.
0:57
Because the left side of our variable
assignment has more than one variable
1:02
name, Python understands that
we're trying to unpack this tuple.
1:05
Just like passing multiple arguments
to multiple parameters is positional,
1:09
so is unpacking a sequence.
1:13
In this example, the first element in
the tuple 1 will be assigned to var1.
1:14
The second, 2, will be assigned to var2.
1:22
And finally, 3 will be assigned to var3.
1:24
I'm gonna print out each of
these variables so you can see.
1:28
Now I'll save this and run it.
1:41
Awesome, each element in the tuple
was assigned to its own variable and
1:48
printed to its own line.
1:52
Notice how in the variable assignment,
1:54
I matched the number of variables
exactly to the length of the tuple.
1:56
Unpacking is strict and
requires exactness.
1:59
Open up the attached workspace.
2:03
Inside you'll see what's
up here on screen.
2:05
Pause the video and try to change
the code to see what happens.
2:07
What's the result of removing
a variable name on the left side?
2:10
What about adding one?
2:13
What about changing the two bullets
returned from the function?
2:15
After you're done playing around,
unpause the video and we'll keep going.
2:18
Welcome back.
2:22
We've just seen how
unpacking works with tuples.
2:24
But it also works with any
Python sequence, even strings.
2:26
Let's rewrite the unpacker function
a little bit so it returns a string.
2:30
Now, keeping everything else the same,
let's run the program and
2:40
see what it prints out.
2:42
Let me clear this so
there's a little more room.
2:43
Cool, each letter of the Python
sequence hey, which is just a string,
2:51
has been unpacked into its own variable.
2:54
This also works with lists.
2:57
If you can loop over it,
you can unpack it.
2:58
Let's more forward and
look at a practical example.
3:01
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up