Join us and get access to thousands of tutorials and a community of expert Pythonistas.
This lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.
Building my_enum()
00:01
Sometimes it helps to rebuild things to understand them better, so in this lesson, you will rebuild the enumerate() function and call it my_enum().
00:14
So back in VS Code, I use the code command to create a new file. This file I create my_enum.py, and by running it, I create this file anew if it doesn’t exist and save it.
00:33 Of course, you can use your own editor, like I said before.
00:38 And I add the filename on top of it so you know where we are.
00:46
The function you’re creating is also called my_enum(). The function accepts two arguments, so think about what you learned about the enumerate() function.
00:57
The first argument is required. Let’s call it sequence. That’s the iterable that your enumerate() function, my_enum(), will loop through.
01:09
Also, you learned that there is an optional value called start, and by default it should also be 0, but you could possibly even change this and say, well, my_enum() function should start with 5 because why not?
01:24
But we stick to the zero for now and create a count variable inside of this function that takes over this value. So the default value of start is 0, and inside the function, you initialize a count variable.
01:42
This should be the value of start. And then you run a for loop over the sequence: for item in sequence: yield count, item.
02:00
And finally, you increment the count variable by 1.
02:06
Oops, I just spotted there is a typo. So let’s check. The argument you’re passing in, sequence, is the one you’re using inside of it, and then you’re looping through it, and you’re yielding count and item.
02:22
In the end, you’re incrementing count by 1, so every time you’re stepping through this for loop, you count up 1.
02:31
The yielding statement makes this function a generator function. You will learn in the next lesson, by using your my_enum() function, what exactly this does, but for now you have created enough to actually use it.
02:46 So save it, and we’ll see each other in the next lesson.
Become a Member to join the conversation.