Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Preview
Start a free Courses trial
to watch this video
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