How I Would Learn Python FAST in 2024 (if I could start over)

213.35k views2334 WordsCopy TextShare
Thu Vu data analytics
Learn to build complex software 👉 https://app.codecrafters.io/join?via=thu-vu92 Receive top data s...
Video Transcript:
if you were to start learning to code today where would you begin I start learning python 7 years ago while working as a data analyst it took me at least 3 years to feel confident in my skills but today things are very different you can reach an intermediate level in Python in just 3 months or less if you learn it the right way in this video I'm going to show you exactly how I would Learn Python if I were starting from scratch today before we dive in let's address the elephant in the room is it
still worth learning python in the ede of artificial intelligence what's the point when AI can write code much faster than we can well python is still one of the most in demand programming languages today in addition knowing how to program in Python empowers you to build applications on top of AI models this means you're not just a consumer of AI but you can build things with it yes AI can now generate codes making coding more accessible with no codes and local tools but it still has significant limitations that we can't ignore hallucination in Aver ation
may be amusing and insignificant but in coding it can be fatal a cyber security researcher recently noticed that large language models repeatedly produced a command to install a non-existent python package without sufficient understanding you might unknowingly allow AI generated code to install malware in your environment that's why you still need to know how to code even if you use AI to write code being proficient in Python will help you verify and correct AI generation code and leverage AI effectively and safely programming is about logical thinking and using that creatively to create a set of instructions
and it helps that python mostly looks like plain English even if you don't know how to code you can sort of read it I wish I wouldn't worry too much about choosing a development environment to use when I first started but anyway choosing the right one might make your life a little bit easier which development environment to choose depends on your goal Do You Want To Learn Python to become a developer or you want to learn it to do data analysis and machine learning or Ai and you can also choose between a local code editor
and a hosted service at the very beginning you may not want to bother with installing Python and setting an environment yourself so you can use an online code editor such as repet where you can start writing code right away in an online environment for data science and machine learning specifically a common tool is tbit notebook which allows you to run blocks of code individually and inspect results and online version of Jupiter notebook is Google collab which is a hosted jupyter notebook service it requires no setup to use and provides free access to some Computing resources
which is pretty neat if you have a small project and you want to collaborate with others in real time however in the long run it's best to install python in your computer so you can use it locally then you can use Python directly in your terminal try using it as a calculator or print some fun jerk in your terminal the next step is to install and integrate development environment like Visual Studio code or byarm these are software that help you develop General applications and they make it easy to edit code and have all the functionalities
built in that you might need for your project hence the name integrated development environment I used to use Jupiter notebook a lot for my data science project in Python but nowadays I find it easier to use Jupiter notebook inside Visual Studio code as I can easily use GitHub copilot which we'll talk about later in this video once you decide which tool to use you can immediately start learning the basics like variables data types and functions you really want to know the basics of control flows like conditional statements and Loops don't get carried away a lot
of times we get stuck in the details of some small topics and lose motivation and we want to avoid that to help you visualize what you may want to learn at each stage of learning python I decide to create this mind map for learning python if you laid out every single python Concept in a mind map this is basically what it would look like you can see on this mind map I divide the topics into basic intermediate and advanced as you can imagine the basic topics include the integrated development environment for python how to install
and manage packages working directory and all things basic just in any programming languages such as data types variables functions operators conditional statements and loop statements it's fine not to completely understand everything at this stage you have the chance to practice and solidify your knowledge in the next levels moving on to the intermediate topics where you can start doing really useful things on this level you should learn more advanced things like working with different types of files Version Control with Git python for data science AKA doing data analysis and machine learning with Python objectoriented Programming decorators
debugging and arror handling at this stage you also want to pay attention to good coding practices meaning writing clean read readable and efficient code there's a distinction between writing code for a personal toy project and building something in the real world some of the most important good coding practices may include follow the style guide for python code and be consistent with it use meaningful variable names trust me naming variables is one of the hardest thing in programming avoid hard coding numbers in your Cates because no one would be able to understand what these numbers represent
except yourself use list comprehensions and generators when NE necessory instead of using for Loops also add Arrow handling in your code provide commenting and documentation in your code use Virtual environments to encapsulate packages for separate projects if necessary you also want to create unit tests for your functions at this stage there could be a lot of things to learn so I'd recommend you start thinking about what you want to focus on for example if you're learning python for data science machine learning and AI you know that you need to master all the basics plus some
the most basic python packages you need to use for working with data such as numai pandas M plot lip caborn and Cy learn while if you want to learn to become a data engineer or software engineer then objectoriented programming decorators and learn to write efficient and clean code are even more important once you've moved on to the more advanced topics you can start building more complex applications and you can start learning how to use an API for your application develop a web application with a user interface or a complex game and so on this is
also where you start moving from building prototypes in Jupiter notebooks to building an userfriendly application in Python there are a lot of popular Frameworks that make it easier for you to develop a web app for example jungo and flask you also learn how to deploy your application on a cloud hosting platform if you want to learn Advanced programming and develop complex applications I'd like to shout out to code Crafters who has currently sponsored this video code Crafters is a learning platform to help engineers get really good at their craft build your own redist get Docker
sequel light from scratch just for fun they also have a separate python track where you can learn to use Python to create your own software this platform targets senior programmers who want to build tools and master their skills if this sounds interesting to you check out code Crafters in the description below all right you can use this mind map as a useful reference for knowing what is what in Python and building your own learning curriculum based on your goals and your needs after that you can start looking up some tutorials on YouTube or signing up
for an online python course and go through the concepts you want to learn I've also linked this mind map in the video description below so feel free to check it out and explore it this overview is just a Guidance the best way to actually learn something though is through doing and the best way to actually own your knowledge is through teaching let me explain most of us learn like this you learn something thing and then move on to the next thing and then move on to the next next thing by the time you move on
to the fourth or the fifth thing you already forget the previous things you learned sounds familiar this is not because you're stupid it is because if you learn something without immediately applying it your brain would get a signal saying oh this thing is apparently not important because I never need to use it for anything so a better way to learn python or any foreign languages is to is to immediately put what you learned into practice and start creating something useful with it this something doesn't need to be too useful for example you just learn about
python functions you can create a function to calculate your BMI if you need some ideas you can simply go to chat tobt and ask it to create a quiz or practice problem for you at this point you might think okay cool I can move on to the next thing or you might decide to go to the next level which is to teach others what you've learned I love writing blog posts and tutorials or making videos explain Concepts I just learned in fact I believe you should always teach what you learn by teaching you learn it
more deeply and it helps reveal gaps in your knowledge that you would otherwise never know it said that no one learns as much about the subject as one who is forced to teach it so for me the best formula to learn coding is actually learn do teach learn do teach and so on this is easier said than done almost all of us experience some sort of dip in confidence and motivation while picking up a new skill and coding is no exception you get started feeling very excited learning about how to print hello world and make
the first for Loop to count from 1 to 10 you feel like you're crushing it and becoming a guru very soon but this is just an illusion this is called the duning CR effect in Psychology which basically means the incompetent people usually overestimate their own abilities after one or two weeks you start feeling overwhelmed and realize how little you actually know about programming You Want To Learn Python to do machine learning but you just realize that you also need to learn math statistics and some computer sciency stuff at the same time and this is completely
normal unfortunately 99% of people give up at this stage they cannot push themselves to step up and keep going even when they don't feel like doing it if you can't go past the stage then you'll forever be a beginner and the problem is in today's world being a beginner you're less competent than chbd so all you need to do is to trust the process for me the best way to get out of the valley of Despair is to learn with a purpose you want to find a problem that you want to solve and create a
personal project that solves it this will help shift your focus from I'm incompetent to I'm learning what it takes to solve a real life problem you might be asking but I'm still just a beginner I don't know where to start a good thing to note is that your project doesn't need to be complicated at all it doesn't need to change the world it just needs to be a little bit useful one of my projects is to take all the books from The Witcher book series to create a network of characters in the story it is
useful but not too useful it was fun and doable and there were a lot of new ideas and Concepts thrown at me and that's the point when you get absorbed in your project you're just too excited to stop there were quite a few weekends when I coded until Wei hours just to see if something actually works and my project slowly coming to life I think there's no better source of motivation than this you also come across many similar projects from other people you can then reverse engineer what they have done to tackle the same challenges
in the project and this will help you build your own problem solving skills in addition in the age of AI tools today you no longer have to do projects all by yourself nowadays I often use GitHub co-pilot to help me write code faster and less error prone in data science this really helps you focus more on the idea and the creative process behind it rather than getting bed down with fixing the data types or adjusting access on the chart believe me this can cost a lot of time and by the way I'm currently working on
a course on python for data science and AI project if you're interested check out the link below to be the first to hear about it when it's available thank you for watching bye-bye
Copyright © 2024. Made with ♥ in London by YTScribe.com