Introduction – Intermediate Python Programming p. 1

Welcome to the intermediate Python programming tutorial series. In this series, we’re going to be taking the “next steps” after one has become comfortable with the basics of Python, and has been working with it for a bit.

Up to this point, my tutorials have all been done using very basic, rudimentary Python. My definition of basic Python: code that is meant to “just make it run.” This is fine for beginners, because there’s not much point in overloading with nuances (most people wont retain it, since they don’t care, at least I didn’t when I was starting out).

I define intermediate Python code as:

Modular – Easily used by others and/or in other projects by you or others. Basically, write code with the intention to honor DRY (don’t repeat yourself).
Maintainable – …Both by the original author and by other users. Is it easily read-able and understood?
Scales – For this to happen, code needs to be efficient when it runs, and be able to scale. Think about reading files, working with requests, or doing calculations. Maintainability also plays a major role in scaling.
In general, code that meets the above standards in Python is done with the Object Oriented Programming (OOP) paradigm. There does exist another paradigm, called Functional Programming (FP), and there are bloody wars fought over which is better. We’re going to use OOP. Either one of these is better than outright scripting, which what most beginner programmers are really doing.

To begin this series, I am going to teach a few basic standard library functions and functionalities of Python that will replace otherwise bad habits in programming, before getting into Object Oriented Programming and design.


Chris Harrel says:

Awesome, I’m looking forward to this series. I hope you can squeeze in something on decorators so others don’t have to bang their head like I did to learn them. I saw mention of live sessions in another comment. I would definitely watch your stream here, on Twitch, or wherever. Get the word out if you are going to do some streaming so we can tune in.

finfan7 says:

This is going to be good.

Harutaka Kawamura says:

I really like your channel. Do you learn those Python stuff by yourself?

Kaelan Dekker says:

Good stuff, you’ll want to pink the first series in the description to draw future viewers who find this first.

jmccormac01 says:

I try to use PEP008 as much as possible, but also disagree with the arbitrary line length. Having proper variable names makes it tough to adhere to 79 chars.

Parveen Chahal says:

Hey Man…More I watch your video, more I like you <3 . Keep it up !!!

Satadhi Halder says:

bro these are pretty good !! thanks a lot !

Jude Zhang says:

great work,sentdex.
where can i buy a hoody like yours?

Mukesh Aem says:

Thank you..!!!

Taranjit Kang says:

Thanks dude

janekalam says:

Hi and thanks a lot for making this. Can you (or anybody who read this comment) please make a video on how to make an “installable distribution package” for a gui program (pyqt) written in python. It seems it is not an easy job to accomplish!

Griffin Calme says:

Python and programming, languages in general, need more intermediate/advanced tutorials. Everyone tells you how to print(‘Hello world’), basic operators, and loops/conditionals, but it is rare to find good advanced stuff. Good work!

brendyne lewis says:

Selenium Tutorial?

MouseMikhail says:

Hi, Harrison! Anazing set of videos. I have a suggestion for your future tutorial videos. Think of a task for each video, that a viewer can do to practice skills, and you can add it to the video. Maybe it’ll take you some time, but it will be of great help to learn python.

Btw, thx for tkinter gui tutorial, i’ve made my own gui for my project based on your videos!

dylan jordan says:

Keep up the good work how often are you updating intermediate videos? thank you.

Got Change? says:

I wanted to expand on some of your stock data analysis programs. Instead of working with CSV files I made a program that will download the CSV, create a database table and insert the data. Works great. However, it is slow. I takes about 60secs to enter in the data for a single year of a given stock. Estimated time to enter in all data for all stocks, 5000+ hours. 🙁
Been looking into threading the program, but it still seems like I would run into the GIL. I might have to find a new project to play around with. This was all just so I could work with a database file instead of CSV files. Hopefully this new intermediate series will give me some ideas.

Love the videos dude, I’ve been learning a lot. Thanks.

Had to come back and explain how much of a noob I am. After so further tests, while I was monitoring my computers performance i notice that working off my storage HDD and not my SSD. Boy to I feel the shame…. LOL. well at least I caught it. If anyone was wondering, it now down to 2 seconds per year. >P and it’s not threaded, so I may yet get some more performance out of it yet.

Luigi Ribon says:

thanks for sharing your tricks and your best practices which will help me to move to the next step…

Kenan Sooklall says:

Oh yea, now we are gonna be cooking with some serious gas

Kamil Ziemian says:

Can I ask what is the painting in background?

DarkHail HailFire says:

FUCK YES! I learned Python very poorly (e.g. I read through code, copied it, make small programs, watch tutorials here and there, never got basic CS skills), and now I need something like this series 🙂

sinecurve9999 says:

The code returns the web address of their API documentation on GitHub happens if you try to point the spider at lol! I guess programmers have a sense of humor.

Matt says:

I remember when you had 40k — So glad youve continued to grow!!

Richard S. says:

Pepe… hehe

Chris Mackey says:

Excited for this series.

Wish you published on the Netflix like schedule and dumped an entire series at once though.

M Yaz says:

have you got any tutorials on introduction to python?

Pavlo Sazonov says:

Will design patterns be covered? GRASP, SOLID, DDD/TDD.. they have a very abstract description with little basic description on “how can I do this and why it’s a good idea”. A proper implementation in python with some guidelines would be great.
Oddly enough, a lot of people can’t explain what the hell is interface, including some of my programming teachers ._.
BTW, loved your beautiful soup episodes. I worked with that some time before and it’s nice that there’s more to learn

allegiance IF says:

How long is this series gonna be?

Johan Pouw says:

so happy u make this vids

Indrajeet Singhmandloi says:

where did you get that python logo shirt from. reply please..!

H G says:

It is SO HARD to find intermediate level programming tutorials. Most people focus on beginners. I don’t need to learn once again what a variable is or how a function works. This is exactly what I needed. Thank you so much.

Burak Üçbinli says:

sentdex you’ re the man 🙂 I wish I was a rich boy and make bitcoin donations to you 🙂 these are really good tutorials. again thank you very much

SerottaPDX says:

Thanks for these vids. I have a pluralsight account and I watched the Python: Beyond The Basics series. It took me 2 days to get thorough 30 minutes of video and left a pit in my stomach with thinking about “all that I have to know”. I don’t feel that way when I watch your videos. You make it fun to watch and I learn things so much quicker. So, thank you.

Tohuwabohu says:

Great idea, thank you! What’s about advanced topics? Will you do these things in the future?

graywolf2600 says:

Thank you! All I need now is a Test driven design tutorial and I’ll never have to train my labmates ever again =P

Mehul Patel says:

Thank you for your tutorials. I have learned a lot through many of your tutorial series…
I appreciate your hard work in doing these.

Chamyl says:

Captions at 5:25 lol

leonardo martinez says:

Great video, thank so much, we appreciate you effort. Could you make some videos for Networking apps?

Victor Montanez says:

Is there a way for me as a viewer, to have a playlist of your videos by category? For example, I was looking to view the series of videos on Python stocks and forex charts etc. Thanks.

Eslam Alalamy says:

one day I’ll be as good as you man.
one day.

TheHHG7 says:

finally someone who is making a guide on how to be a pro, now its my job to learn how to be an expert

Leo Chen says:

Thank u so much!!!!!

Dmitry Ponyatov says:

Do you have some points on using cPython (2.x) as DLR base for own dynamic programming language ?
I found this book is goood intro in this theme, but I’d like to found some way to smoothly shift from Python to my own dynamic object language or deeply expand python itself for my needs (I’m dreaming of SmallTalk-like system based on language with pythonic syntax)

Jim S says:

Thank you.!

Flunky In Disguise says:

hi got one question what happened to python tkinter?????? I didn’t see it on the newest version man

 Write a comment


Do you like our videos?
Do you want to see more like that?

Please click below to support us on Facebook!