Python Jumpstart by Building 10 Apps Transcripts
Chapter: Welcome to the course
Lecture: Welcome and thanks for coming
0:00 Hello and welcome to my course Python Jumpstart By Building Ten Applications. Whether you are entirely new to Python,
0:07 or you have had some experience with it, but you would like to understand the language better,
0:09 I think you'll have a lot of fun building these ten applications with me and learning the core language concepts along the way.
0:18 I've carefully chosen these ten applications to make them small enough that you can focus on the essential language constructs
0:26 while you are building the application, and there won't be too much extra stuff to distract you, but hopefully they are big enough
0:33 and complex enough that they are interesting to you, and you'll see we start out quite simple, but as we build up they get more and more complex,
0:40 more and more realistic, I would say. Welcome to the course, we are going to have a lot of fun! Let's talk about what we are going to build.
0:46 We are going to start at "Hello World", and this in not just to test that you can write "print('Hello world!')", that would be kind of silly,
0:53 we actually do just a little more than that, but we are also going to make the focus of this app to make sure that your setup is right,
1:00 that you've got Python installed, that you are using the right version, it's in your path, all the various things
1:04 you need to make sure your environment is working, your editor configured correctly, all those kind of things.
1:09 Then, we are going to get to our first what you might think of as real app.
1:12 Guess that number game, and the computer is going to randomly choose a number and it's going to ask the user, "hey, what number do you think I guessed"
1:21 and it will sort of say, "too high/ too low," you may know this game. So that will let us work with things like user input,
1:26 converting strings to numbers, conditional statements, booleans, all those foundational language constructs.
1:33 Then, the next one we are going to focus on is a birthday countdown application, and this will let us really explore dates, time,
1:39 differences between dates, the various things like that. Once you have finished with this app
1:43 you will be very comfortable working with dates in the Python language, and the idea here is the user is going to enter their birthday,
1:50 we'll then use that information to figure out how many days their birthday is in the future of that year,
1:55 or how many days it's already been since it's gone by. The fourth app we are going to build is a personal journal or diary.
2:02 This app is fairly complex, we are going to look at a lot of really useful and central features to the language.
2:09 We are going to focus mostly on file I/O, but also partitioning our app into many different files
2:15 and reusing those files to build up a more complex application. We are going to dig into functions, and a lot more.
2:23 So, these first four apps will just run on our computer, and that's great, but we live in a connected world,
2:28 so this fifth application is going to be a weather client. We are going to actually go out to the Internet
2:34 and get the weather wherever you happen to be located. You will enter your zip code and out will pop a weather report,
2:40 a real, live weather report that is up to date to the minute. Now we are going to use a lot of cool language features and packages
2:47 to build this one, so we are going to focus specifically on how you go to the Python package index often referred to as PyPi,
2:54 and grab these packages, install them locally and use them to construct something that will let us get our weather report.
3:01 We are going to do some HTTP request, we are going to do some screen scraping, HTML parsing, things like that.
3:08 At this point, we are going to need a little laugh. We've built these five apps and we've worked with the Internet, but we've only gotten text back,
3:16 so this LOL Cat Factory is going to let us dig into the concept of binary files, so we'll combine the fact that we are going to go to the Internet,
3:23 grab some binary data, in this case very important LOL Cat pictures, save those to binary files on the disk, and then explore them with Python.
3:33 Have you ever played DnD or some of these types of games? Well, it's time for a wizard battle, so we are going to make a game
3:40 where we have things like wizards, and dragons and so on, and this is kind of a text roll playing game,
3:46 we'll create a wizard and the wizard will be part of this ecosystem where he battles different creatures and so on.
3:52 Now, for this, we are going to really dig into the concept of classes, object oriented programming, inheritance, doc typing,
4:00 all of the OO type building blocks that really make Python a powerful language.
4:05 Number eight, we are going to build this file searcher so you can enter some text, and it will go through your system, your hard drive,
4:12 look at all the different files, pull out the various pieces of text and give you little report on it.
4:18 Number nine, we are going to build a real estate investor application. We are going to start with CSV file full of real estate transactions data,
4:28 historical data for particular location, and then we are going to write an application that will let you answer questions about it,
4:35 what is the average price of a house that has two bedrooms sold in this location,
4:40 what is the most valuable house ever sold that had one bathroom and one bedroom. Those types of things.
4:46 So we are going to work with this file format CSV which most of you should be very familiar with,
4:51 but the idea will be easily translatable to other formats as well of course, and we are going to really focus on two Pythonic concepts here,
5:00 two language features in the Python language that are fairly unique to Python, that is generator expressions and list comprehensions.
5:09 Either way is to do almost database like query work in your procedural code, so it's super powerful, super interesting
5:17 for answering the types of questions this app might ask. Last but not least, we are going to have a movie lookup app.
5:24 So, in this application, it's going to go out to the Internet again, and give you information about movies,
5:30 but the thing we are actually going to focus on is not so much the Internet part, we did that in five and six already,
5:36 we are going to focus on errors, exceptions, error handling, things like that. What if you can't get to the Internet,
5:43 what if the site is down, what if it returns data you don't expect, how do you write an application that fails gracefully
5:48 or maybe it doesn't fail at all? So, that's what we are going to focus on, these are our ten applications. If you are brand new to Python
5:55 I recommend you go in order. If you kind of know what you are doing, if you look at the second one and go, "I know all these things,"
6:03 feel free to skip around. But, I would encourage you to go and look through the list of the core concepts,
6:09 each chapter, each application has a set of core concepts that are list out, and if you don't know those, be sure to go back and look at that first,
6:17 because they kind of build on each other, even though they are somewhat independent.