How to learn python from scratch
DISCLAIMER: Every thing is hard, nothing is easy and you 100% will suck at the start but as you proceed you will suck less. So be consistent. Do it every day. And remember to look at action you make to learn this because some day you will have little to none progress
What is python:
Python is a programming language which is easy to learn and easy to use. Unlike other programming languages which have spaghetti syntax of brackets and other weird stuff, python just uses white spaces.
It is used for:
- Building websites: Python is a popular choice for creating the invisible engine that powers websites.
- Data science: Wrangling data, analyzing trends, and making predictions — Python’s got it covered.
- Automating tasks: Tired of repetitive stuff? Python can automate it for you, freeing up your time for more exciting things.
- Game development: Have a killer game idea? Python can help you bring it to life.
The following will give you a complete guide on how to become a python pro. Lets get started
Learn the basics:
Obviously you have to learn the basics which include:
- How to create variables
- Conditionals: To perform one task if one condition is true and other if the condition is false.
- Loops: To perform a tast multiple time.
- Arrays, Dictionaries ans tuples: Used to store many values in a single place.
- File I/O: How to write data to files. Useful when you are making apps that need to store values.
The best resource is a video by free code camp which literally teaches you the basics of python by making a game at the start. After 1 hour of the course you’ll have a basic understanding of every beginner level topic as the instructor teaches and tells you at the start how to make a rock paper scissors game.
Do Projects:
Basics alone won’t make you a pro. Do some projects by watching youtube vids. But also implement what you have learned in previous projects in your new projects and you’ll be better than every one. The best one is:
After This:
After doing a few projects you’ll definately have a good undestanding of python and I would like you to carry on with these following steps:
Moving on to GUI and implementing it in some projects:
- Dive into Tkinter: Python’s built-in library, Tkinter, lets you create graphical user interfaces (GUIs). Think buttons, windows, and fancy layouts! Start with tutorials to build simple programs like a basic calculator or to-do list app.
- Explore Other Options: As you get comfortable, consider GUI frameworks like PyQt or Kivy. These offer more powerful features and a smoother development experience for complex UIs.
Project Ideas:
- Build a currency converter with a user-friendly interface.
- Create a simple music player with basic controls.
- Develop a quiz application with interactive elements.
Learning OOP and utilizing it in some projects:
- Object-Oriented Fundamentals: OOP is a programming paradigm that revolves around objects. Imagine a blueprint for creating things in your code. Learn about classes, objects, inheritance, and polymorphism. These concepts might sound fancy, but they’ll make your code cleaner and more organized.
- Practice Makes Perfect: Here’s where things get fun! Build projects that utilize OOP principles. Create a class for a bank account, a geometric shape, or even a character in a game. Think about how these objects interact with each other.
Project Ideas:
- Develop a library management system using classes for books and users.
- Simulate a simple physics game with objects representing balls or planets that interact according to physical laws.
- Create a social media app (without the real social media!) using classes for users, posts, and comments.
Understanding Data Structures and algorithms:
- The Building Blocks: Data structures are like different containers to store your data efficiently. Lists, dictionaries, sets — each has its strengths. Learn about common data structures and how to choose the right one for your project.
- Algorithms in Action: Now we’re talking about solving problems with step-by-step instructions! Dive into sorting algorithms (organizing data), searching algorithms (finding things quickly), and explore more advanced concepts like graphs and trees.
- Practice & Sharpen Your Skills: The best way to master data structures and algorithms is to solve coding problems! Websites like HackerRank or LeetCode offer a treasure trove of practice problems to test your newfound knowledge.
Project Ideas:
- Build a program that analyzes a large dataset of text and counts the frequency of words using appropriate data structures for efficient storage and retrieval.
- Develop a pathfinding algorithm to help a character navigate a maze in a game.
- Implement a recommendation system that suggests products based on user preferences using data structures and algorithms
Spend a lot of time practicing these skills and also select a niche
Most poplular niches:
Here’s a breakdown of the listed fields based on current and future demand:
Get Haz Techy Content’s stories in your inbox
Join Medium for free to get updates from this writer.
High Demand (Now and Future):
- Machine Learning: Machine learning is a rapidly growing field with applications in various industries. Python’s strong libraries like TensorFlow make it a top choice for developers.
- Data Science: Data science skills are highly sought after as businesses rely more on data-driven decisions. Python’s extensive data analysis libraries (NumPy, Pandas, etc.) solidify its place.
- Cloud Computing: Cloud-based solutions are gaining immense popularity. Python’s ability to build scalable cloud applications ensures its continued relevance.
- Automation: Automating tasks improves efficiency. Python’s scripting capabilities make it perfect for automating repetitive processes.
Strong Demand (Now and Potentially Increasing):
- Web Development (with limitations): Python is a great choice for web development, especially for back-end development. However, for complex front-end interactions, JavaScript might be preferred.
- Natural Language Processing (NLP): NLP is a growing field with applications like chatbots and sentiment analysis. Python has good NLP libraries (spaCy, NLTK) making it a strong contender.
Niche Demand (But Could Be Promising):
- Robotics: Python is used in robotics, but not as extensively as C++ or Java. However, with advancements in educational robotics, Python’s use might grow.
Demand Uncertain or Limited:
- Mobile App Development: While Python can build cross-platform apps, native development with languages like Java (Android) or Swift (iOS) might be preferred for performance-critical apps.
- Network Programming: Network programming is a specialized field, and Python might not be the first choice compared to languages like C++.
- Financial Applications: While Python can be used, some areas in finance might require higher performance languages.
Overall, Python is a highly demanded skillset across various fields, especially those involving data, machine learning, and automation. Its ease of use and vast libraries make it a future-proof skill to learn.









