0% found this document useful (0 votes)
11 views

How do I learn Python by Vik Paruchuri

To effectively learn Python, it's crucial to identify your motivation and focus on projects that align with your interests, whether it's web development, data science, or game creation. Start by grasping basic syntax quickly and then engage in structured projects to apply your knowledge, gradually increasing the complexity of your work. Continuous learning and project development are essential, as Python is an evolving language that rewards practical application and persistence.

Uploaded by

shrikanth2hosur
Copyright
© © All Rights Reserved
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

How do I learn Python by Vik Paruchuri

To effectively learn Python, it's crucial to identify your motivation and focus on projects that align with your interests, whether it's web development, data science, or game creation. Start by grasping basic syntax quickly and then engage in structured projects to apply your knowledge, gradually increasing the complexity of your work. Continuous learning and project development are essential, as Python is an evolving language that rewards practical application and persistence.

Uploaded by

shrikanth2hosur
Copyright
© © All Rights Reserved
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 4

Vik Paruchuri

·
Following
Founder at DataquestUpvoted by
Chitrabasu Khare
, De-Coder8y
Related
How do I learn Python?
The most important question to answer first is why do I want to learn
python? Answering this will guide what you use to learn and how you learn.
Starting with a very generic list of resources to learn python when you
eventually want to make websites (for example), will not only reduce your
motivation, it will also make it much harder to apply the knowledge you gain.
I've tried to learn coding without context and application, and I've almost never
come out of it with any meaningful skills.
When I learned python 3 years ago, I wanted to create websites. It shouldn't
come as a shock to anyone that the best way to learn how to do this was to
create websites.
1. Find what motivates you
Finding and keeping your motivation is key -- I slept through a lot of the one
high school programming class I took because it made us memorize a bunch of
syntax. On the other hand, when I needed to learn python to make an
automated essay scoring algorithm, I stayed up many late nights learning and
iterating.
Motivation is rarely addressed in learning -- you're often just given a list of
generic tutorials to try, and told to go do them. But the great thing about
python is that you can develop almost anything, from mobile apps to games to
advanced machine learning algorithms. No matter what you're interested in,
you can probably build it in python, and there's probably a good getting started
tutorial.
Pick an area or two that you're interested in, and stick with them-- you'll be
developing quite a few projects in the areas.
Here are some sample areas, but feel free to add your own:
 Websites
 Mobile apps
 Games
 Data science/Machine learning
2. Learn some basic python syntax
Unless you know the basic syntax, it's hard to implement anything. That said,
don't spend too long on this. The goal is to learn the very basics, so you know
enough to start working on your own projects in your areas(s) of interest.
For reference, I spent less than a week on codecademy, and went through
about 30% of the material. This was enough to get started on a project.
Some resources that can help you:
 Codecademy -- does a good job of teaching basic syntax.
 Learn python the hard way -- a book that teaches a lot of python concepts.
 Dataquest.io -- this is my startup. It's focused on teaching python for data
science, but it teaches all the basic syntax also.
 The Python Tutorial -- the tutorial on the main python site.
I can't emphasize enough that you should only spend the minimum amount of
upfront time possible on basic syntax. The quicker you can get to working on
projects, the faster you will learn. You can always refer back to the syntax when
you get stuck later.
3. Make structured projects in your chosen area
Unless you actually apply your knowledge, you won't be able to retain it well.
Projects are a great way to learn because they push your capabilities, show you
how to apply skills, and give you a portfolio to show employers in the future.
When you start out, it can be helpful to have more structured projects with
some guidance. Here are a few ideas:
Games
 Codecademy -- walks you through making a couple of simple games.
 Pygame tutorials -- pygame (the python library for making games) has a good
list of tutorials
 Making games with pygame -- this book looks like a great way to learn python
by making games
Websites
 Flask tutorial -- the official flask (simple python web framework) tutorial.
 Bottle tutorial -- Bottle (even simpler web framework for python) tutorial.
 How To Tango With Django 1.7 -- a guide to using django (more complex python
web framework)
Mobile apps
 Kivy guide -- Kivy is the tool that lets you make mobile apps with python. They
have a guide on how to get started.
Data science
 Dataquest.io -- Teaches you python and data science interactively. You analyze
a series of interesting datasets ranging from CIA documents to NBA player
stats.
 Scikit-learn documentation -- Scikit-learn (the main machine learning library for
python) has some great documentation and tutorials.
 Python for Data Analysis -- written by the author of a major python data
analysis library (pandas), it's a good introduction to analyzing data in python.

4. Work on projects on your own


Once you have learned the concepts in a guided manner, it's time to work on
some projects on your own. You'll still need to consult references and look up
concepts, but you'll be fitting what you learn into the needs of your project, not
the other way around.
Finding other people to work with here can both help you learn and help keep
you motivated.
Some ideas:
 Extend the projects you were working on previously, and add more
functionality.
 Go to python meetups in your area, and find people who are working on
interesting projects.
 Find open source packages to contribute to.
 See if any local nonprofits are looking for volunteer developers.
 Find projects other people have made, and see if you can extend or adapt
them.
My first project was adapting my automated essay scoring algorithm from R
into python. It didn't end up looking pretty, but it started me on the journey to
learning python.
The key is to pick something and do it. If you get too hung up on picking the
perfect project, there's a risk that you'll never make one.
5. Keep working on harder projects
Keep increasing the difficulty and scope of your projects. If you're completely
comfortable with what you're building, it means it's time to try something
harder.
Here are some ideas for when that time comes:
 Try teaching a novice how to do your current project.
 Try load testing your website -- can you scale it up?
 Can you make your program run faster?

Going forward
At the end of the day, python is evolving and changing all the time. There are
probably only a few people who can legitimately claim to completely
understand it.
You'll need to be constantly learning and working on projects. If you do this
right, you'll find yourself looking back on your code from 6 months ago and
thinking about how terrible it is. If you get to this point, you're on the right
track.
Python is a really fun and rewarding language to learn, and I think anyone can
get to a high level of proficiency in it if they find the right motivation.
805.5K views
View 3,009 upvotes
View 59 shares
1 of 257 answers
Upvote
3K
66
59

You might also like