 Hey, welcome back to our from scratch to Python series. If you're watching this video, it's more than likely that you've completed the project, which is ace. Where do you go to next? What can you do? Well, that's what this video is all about. I'm here to share with you a few resources that you can go on to next to help build your understanding of Python. Now I'm the surfing scratcher and I'm here to help curious learners just like you along on your learning journey. So let's get stuck into it in just a sec. The first thing I want to talk about is our project here. So out main.py where we've been coding all of our code. Now a good thing to do once you've sort of finished a project is to optimise it. And what do I mean by that? It means to sort of look through your project and see if there's any duplication that we can create more functions for and strip the file basically of stuff that we don't need to sort of simplify it. Now there's one specific area that I mentioned in the last video, and that's where we have this text to speech engine. So there's a really good opportunity to say take this piece of code because you can see it's repeated here in a say sentence. And it's also repeated here in the ask the user to spell the word. The thing that we need is the content, the text content that is common between each of them. So here it's a sentence, here it's a word. So we could generalise these three code blocks into a function. And I'm going to call it TTS say, it just stands for text to speech say. And we want to say this text going to put my colon there. Let's go to the new line. I'm just going to paste in those other three lines. You can see here where I've got that squiggly. I'm just going to replace that with text because we're going to use that text parameter. Cool. And that's it. So all we need to do now is just make sure that we call this function wherever we've got those three lines of code. So let's call TTS say, and we want to say the word in say the word. Now I can just get rid of all those, which is a little bit cleaner. I'd also get rid of this comment because we don't need it anymore. I'll just copy that block and paste it over these three lines. And instead of a word here, we are saying a sentence. And then I'll scroll down in our asking the user to spell the word. And I can just leave it as is because we're wanting to spell that word. And I just go through and delete the comments that we don't need anymore. That would be some general cleanup. I won't bore you through doing that whole thing now. And if we scroll up, okay, so here we are in our read lines from file that we've created earlier and pretty much anything above that we don't need anymore, because we were just directly translating all these functions across from scratch. Everything that we've done here is pretty much done in our read lines from file. So conceitably, you could go through and really just delete all of those functions. And that would be cleaning up our file here as well. You just need to go down and make sure that none of those references are referred to down here. And you'll be able to tell if there's a little red squiggly line. Another thing that you could do for this file is to create some debugging. So at the moment, we assume that every line that comes in is in this format, but that may not be the case. So down here in our read lines from file, we may want to check that a line actually has this format and throw an error if it doesn't. I'll leave a link down below in the description for you to go and check out how to do errors in Python. Okay, so that's enough on refactoring. Let's jump into the resources that you can explore after this. Okay, our first and probably most comprehensive source is going to be the Python documentation. Again, there's going to be a link to all these resources down below in the description. It's going to be the most comprehensive. I don't know if it's going to be the most friendly for beginners, but you can go check out this tutorial and I'll just scroll down here and you can see how comprehensive it is. It walks you through all the features of the language, and here it is down here. You've also got the errors and exceptions. So you can go down and refer to those errors and exceptions that we just spoke about in the refactoring section. But if you're looking for a more gentle introduction, then I'm going to suggest something else. Multiple resources have recommended this book by Elle Swiget. I'm going to say I may pronounce that incorrectly, but it's called Automate the Boring Stuff. And essentially what you do here, Elle takes you through the fundamentals of the Python language and how to really use the computer for what it was built for to automate some things that can be quite monotonous that you do repetitively, because that's what computers do really well. So I'll scroll down here just so you can see. There's another book here called Python Crash Course that you could check out as well. And there's a link to a few other resources. The cool thing is that Elle has also got this posted on Udemy. So there is a video course. And often there are some free coupon codes that you can go and check out. So I'll leave a link below in the description for that. Here is that course on Udemy. And you can see here with coupon code, if you just add the question mark coupon code and instead of SEP, if you're watching this in a different month, just put in the three letters for that month, make sure they're all uppercase and refer to the year that you're currently in and then add code because what Elle does is offers a set number of people or a set number of days where this course is free each month. So check this course at the start of each month, enter in this code and you may well get it for free. But you can see here, it's pretty well discounted anyway. Just going to go jump back to that other website. So the cool thing about this particular book, you can purchase it, but it's also available online. So you'll see all these links down here are the chapters in those books. So you go through all the Python fundamentals. And then as you get deeper into the book, it also talks you through some of the tasks that you can do on it. Now this book, I'll get you to use Mu editor, which works well for most of the time. But when you start using libraries and frameworks, you have to start using item or terminal or the console, the command line, so that you can start to use those libraries. So it gets a little bit trickier when you need to do that. But it's certainly a good starting point if you're wanting for a gentler introduction than the documentation. Okay, let's check out the next resource. Another website to check out is called learn X in Y minutes. And here we're learning about Python where X is Python and why is the variable with how long it takes you. But this is basically just one big long line of a page that walks you through all the things that you can do in Python. So right up here at the start, it tells you how to make comments. And what I recommend you do is open up another window like I've done over here. I've got replet. And I've just got the interactive console open. And we can just go ahead and practice these. So here we go, I'm going to open three double quotes to start a multi line string. I'll go this I'll type enter is a multi line string. And then I can hit enter. And I'll close that with those three double quotes. And you can see how it's output a multi line string here as one value. So what you can go ahead and do is just work your way through that just to test it out. So here's a number, you know, three just means three math is just what you would expect. So really just type one plus one, press enter, and you can see that you are getting those values. So just walks you through how you can do things that you may be familiar with. And it'll expose you to some stuff that you've never seen before. And it's just a good way to have something laid out for you to go into the console and test it out. You know, I'm sure this syntax is maybe a little bit funky for you. So this is just into the division that automatically rounds it down for both positive and negative numbers. So here five divided by three. Well, we can check the result of that by just going five divided by three. And we get 1.6. And if I go five double slash three, you can see here that it's rounded down to one. So we've ignored all the decimal point values or all the values to the right side of the decimal point. So this is just a really cool succinct resource for you to go down and work your way through. And I reckon this could be paired really well with a flashcard system like Anki. You could go and create some cards if any of these are really unfamiliar for you or you want to practice them. So go check out learn X in Y minutes. Let's check out the next resource. And here is a Python playlist basically to walk you through all of those fundamentals of Python. So the automated voting boring stuff, what you see or learn X in Y minutes. This is just laid out for you in real bite size pieces here as well. It's quite short. And this will just give you a little bit of an overview as well. So there's a link below down in the description for you to check out this playlist. Okay, let's check out the next resource. The next resource is free co cab. And this one is quite thorough and maybe slightly more advanced. But what you can do is head through an introductory series and it walks you through again all of the different types of features of the language. And there's probably a few things in here that really appear appeal to me, such as networking and some of the web services stuff, as well as the relational databases. So it gets quite advanced. But yeah, if you scroll back up to the top here, it goes all over those things that we've done in this, in this video series, such as functions, we've got those conditionals, the if blocks, got some looping, that's the while loops, the for loops, all those types of things as well. So free co camp is a really good resource. Now just scroll down a little bit. So if you go through and complete this course, then you can actually get a certification, which is pretty neat. That's something that the other courses don't do. So you need to go down and agree to all of these checkpoints. And if you scroll down even further, you can see that there are all these different types of certificates that you can obtain from free co camp. This is all free. But if you manage to complete some of these certifications, then you'll have some really good input for your resumes when you are applying for some jobs down the track. So maybe check out free co camp as well, or at least book market for the future. Okay, let's check out the last resource. This last resource, it isn't Python specific. In fact, there's very little on to no Python in this course at all. It's a website called teacher self computer science, but I wanted to share this with you for probably the high achievers out there who could basically do a computer science course before you finish high school. If you were really up to it and you committed to it. So this particular website outlines the eight online foundational components that make up a computer science degree. And it's linked to books. Okay, why study it? There's a book and video series. So we've got videos and lectures from various universities. It looks like from around the states here. If you scroll down a little bit further, it even distills it down to just two components that you can start on first. So those two components are computer systems. So I'd scroll up here and look at the computer systems program as perspective. So basically how does a computer work and also about distributed systems. So that's this one here. So suggesting that if you look at these two components will wet your appetite for the remaining components here in the computer science degree. So imagine that imagine going through high school or finishing it and you've already got your computer science degree there. You'd save yourself a lot of money. You'd have a lot of example projects that behind you as well. And you would show your dedicated commitment. But hey, I reckon if you take yourself through this, you're probably not looking for a job anyway. You would be a self starting entrepreneur is quite advanced. These are all university courses. So if you're just getting started out, it's probably not for you because the content isn't made for kids. It's made for adults and university students. So you might find it a little bit boring. But worth checking out if computer science is your thing. There you have it. There are a few resources that you can go and check out after this particular series. I wouldn't overwhelm yourself with all of them. I'd say just pick one and maybe pick the one that has the lowest commitment if you're like, I'm not too sure about this. So go ahead and choose one and continue your learning journey with Python. While you've got this momentum, it's important if not crucial to continue with it. I hope you enjoyed this series to transition you from scratch to Python. I hope that you learned something new and I look forward to catching you in more videos. So until next time, I'm off to go find a wave. I'll see you then.