loading...

30 Days of Python πŸ‘¨β€πŸ’» - Day 1 - Introduction

arindamdawn profile image Arindam Dawn Updated on ・3 min read

30-days-of-python (30 Part Series)

1) 30 Days of Python πŸ‘¨β€πŸ’» - Day 1 - Introduction 2) 30 Days of Python πŸ‘¨β€πŸ’» - Day 2 - Data Types I 3 ... 28 3) 30 Days of Python πŸ‘¨β€πŸ’» - Day 3 - Data Types II 4) 30 Days of Python πŸ‘¨β€πŸ’» - Day 4 - Data Types III 5) 30 Days of Python πŸ‘¨β€πŸ’» - Day 5 - Conditions & Loops I 6) 30 Days of Python πŸ‘¨β€πŸ’» - Day 6 - Loops II & Functions 7) 30 Days of Python πŸ‘¨β€πŸ’» - Day 7 - Developer Environment 8) 30 Days of Python πŸ‘¨β€πŸ’» - Day 8 - OOP Basics 9) 30 Days of Python πŸ‘¨β€πŸ’» - Day 9 - OOP Pillars 10) 30 Days of Python πŸ‘¨β€πŸ’» - Day 10 - OOP Missing Pieces 11) 30 Days of Python πŸ‘¨β€πŸ’» - Day 11 - Functional Programming Basics 12) 30 Days of Python πŸ‘¨β€πŸ’» - Day 12 - Lambda Expressions & Comprehensions 13) 30 Days of Python πŸ‘¨β€πŸ’» - Day 13 - Decorators 14) 30 Days of Python πŸ‘¨β€πŸ’» - Day 14 - Error Handling 15) 30 Days of Python πŸ‘¨β€πŸ’» - Day 15 - Generators 16) 30 Days of Python πŸ‘¨β€πŸ’» - Day 16 - Module Basics 17) 30 Days of Python πŸ‘¨β€πŸ’» - Day 17 - External Modules 18) 30 Days of Python πŸ‘¨β€πŸ’» - Day 18 - File I/O 19) 30 Days of Python πŸ‘¨β€πŸ’» - Day 19 - Regular Expressions 20) 30 Days of Python πŸ‘¨β€πŸ’» - Day 20 - Debugging and Testing 21) 30 Days of Python πŸ‘¨β€πŸ’» - Day 21 - Scripting Basics 22) 30 Days of Python πŸ‘¨β€πŸ’» - Day 22 - Scripting Extras 23) 30 Days of Python πŸ‘¨β€πŸ’» - Day 23 - Web Scraping 24) 30 Days of Python πŸ‘¨β€πŸ’» - Day 24 - Web Development Basics 25) 30 Days of Python πŸ‘¨β€πŸ’» - Day 25 - Web Development Extras 26) 30 Days of Python πŸ‘¨β€πŸ’» - Day 26 - Machine Learning Basics 27) 30 Days of Python πŸ‘¨β€πŸ’» - Day 27 - ML & Data Science I 28) 30 Days of Python πŸ‘¨β€πŸ’» - Day 28- ML & Data Science II 29) 30 Days of Python πŸ‘¨β€πŸ’» - Day 29 - Automation Testing 30) 30 Days of Python πŸ‘¨β€πŸ’» - Day 30 - Free Python Resources

As a web developer fiddling around with JavaScript most of the time, I wanted to explore the territories of a different language and document the learning journey in the process. I decided to learn Python, one of the most loved and popular languages, something which had been in my wishlist for a while. It would be really nice I believe to explore the new possibilities that Python is so widely recognized for such as Data Science, Machine Learning etc.

I decided to split the learning roadmap in 4 weeks with each week dedicated to learning some specific areas of the language. As a developer, I know it is quite impossible to master a language in such a short span but a daily deliberate practice routine for the same duration is sufficient to start building interesting projects and build the foundations.

The Roadmap

  • Week 1 - Python fundamentals, basic syntax, setting up the developer environment, basic working principle, practice some basic coding and document the process.

  • Week 2 - Programming Paradigms β†’ Object-Oriented and Functional Programming Patterns.

  • Week 3 - Python Decorators, Error Handling, Modules, Generators, Debugging.

  • Week 4 - File I/O, Regular Expressions, Testing, Scripting using Python.

  • Extras(Based on time availability): Data Scraping, Server Setup, Machine Learning Basics.

Documenting my daily progress would help me build a reference journal for future reference as well. I hope can act

as a helpful resource to anyone looking to learn the language as well πŸ™‚

Day 1

I found this great video where the founder himself shares a brief story about the language.

The Story of Python, by Its Creator, Guido van Rossum

Understanding about how Python works in simple words

Python is a high-level interpreted programming language.
What it means is that the python code needs to be translated (interpreted) by another software program which is called the interpreter that executes the code line by line and converts it into bytecode (very close to machine-readable code).
This bytecode is run by the Python virtual machine (gets installed when we install python) and then converted into machine-readable binary code which computers can process and perform the necessary action.

While installing Python, what we install is the python interpreter along with the virtual machine.
There are different variations of python interpreters:

Each of the implementations of their own features and trade-offs.

Versions

There are two major versions v2 and v3. In 2008, several major improvements were introduced in the language that introduced some breaking changes without considering backwards compatibility. The official docs now recommend using v3 and support for v2 would be ceased after 2020.

First beginner's program πŸ˜„

To keep things extremely simple at first, I wanted to play around with some basic hello world type code, to begin with.
I used the amazing online playground REPL to kickstart writing some python code and do a syntax comparison with JavaScript as well.

name = input('What is your name?') #promts user input in console and store in a variable
print('Welcome to the world of Python ' + name) # prints to console 

comparing it with JavaScript

const name = prompt('What is your name?');
console.log('Welcome to the world of JavaScript ' + name);

Well, that's pretty much for Day-1! I know I have barely written any code. I just wanted to spend my first day in building the roadmap. Now that I have the language split into chunks, the goal would be to focus on the weekly goals and share daily progress about the same.

Have a great one!

30-days-of-python (30 Part Series)

1) 30 Days of Python πŸ‘¨β€πŸ’» - Day 1 - Introduction 2) 30 Days of Python πŸ‘¨β€πŸ’» - Day 2 - Data Types I 3 ... 28 3) 30 Days of Python πŸ‘¨β€πŸ’» - Day 3 - Data Types II 4) 30 Days of Python πŸ‘¨β€πŸ’» - Day 4 - Data Types III 5) 30 Days of Python πŸ‘¨β€πŸ’» - Day 5 - Conditions & Loops I 6) 30 Days of Python πŸ‘¨β€πŸ’» - Day 6 - Loops II & Functions 7) 30 Days of Python πŸ‘¨β€πŸ’» - Day 7 - Developer Environment 8) 30 Days of Python πŸ‘¨β€πŸ’» - Day 8 - OOP Basics 9) 30 Days of Python πŸ‘¨β€πŸ’» - Day 9 - OOP Pillars 10) 30 Days of Python πŸ‘¨β€πŸ’» - Day 10 - OOP Missing Pieces 11) 30 Days of Python πŸ‘¨β€πŸ’» - Day 11 - Functional Programming Basics 12) 30 Days of Python πŸ‘¨β€πŸ’» - Day 12 - Lambda Expressions & Comprehensions 13) 30 Days of Python πŸ‘¨β€πŸ’» - Day 13 - Decorators 14) 30 Days of Python πŸ‘¨β€πŸ’» - Day 14 - Error Handling 15) 30 Days of Python πŸ‘¨β€πŸ’» - Day 15 - Generators 16) 30 Days of Python πŸ‘¨β€πŸ’» - Day 16 - Module Basics 17) 30 Days of Python πŸ‘¨β€πŸ’» - Day 17 - External Modules 18) 30 Days of Python πŸ‘¨β€πŸ’» - Day 18 - File I/O 19) 30 Days of Python πŸ‘¨β€πŸ’» - Day 19 - Regular Expressions 20) 30 Days of Python πŸ‘¨β€πŸ’» - Day 20 - Debugging and Testing 21) 30 Days of Python πŸ‘¨β€πŸ’» - Day 21 - Scripting Basics 22) 30 Days of Python πŸ‘¨β€πŸ’» - Day 22 - Scripting Extras 23) 30 Days of Python πŸ‘¨β€πŸ’» - Day 23 - Web Scraping 24) 30 Days of Python πŸ‘¨β€πŸ’» - Day 24 - Web Development Basics 25) 30 Days of Python πŸ‘¨β€πŸ’» - Day 25 - Web Development Extras 26) 30 Days of Python πŸ‘¨β€πŸ’» - Day 26 - Machine Learning Basics 27) 30 Days of Python πŸ‘¨β€πŸ’» - Day 27 - ML & Data Science I 28) 30 Days of Python πŸ‘¨β€πŸ’» - Day 28- ML & Data Science II 29) 30 Days of Python πŸ‘¨β€πŸ’» - Day 29 - Automation Testing 30) 30 Days of Python πŸ‘¨β€πŸ’» - Day 30 - Free Python Resources

Posted on by:

arindamdawn profile

Arindam Dawn

@arindamdawn

Software Engineer who loves building user interfaces. In the quest to learn, unlearn and re-learn things.

Discussion

markdown guide
 

I stumbled on this by accident, and it caught my attention / interest because of the explanations being clear, concise and still covering most of the main underlying concepts.

This helps developing a better understanding (thereby making it much easier to remember) in a relatively short time.

I have worked on and off with Python and several of the libraries, decided to go through some comprehensive online courses to build a better foundation. This 19 step overview is now a key component in this as it helps putting the whole 'internal' narrative together very well.

Thanks for putting this one online

 

Thanks. Glad that you found it interesting :)

 

This is cool. Am a beginner and i stated learning python for a month now and to be honest with everything else going through in my life it has been slow. Am happy i found this and it’s a good idea to have mile stones and it will be something am gonna implement in my journey too.

Good job

 

Thank you :)
Remember slow and steady wins the race :) Keep progressing at your own pace. The race is with our previous self. Getting a fraction better each day is more than enough :)

 

Hello, I am starting to work with Python, some code and small programs are already written, for sure this will help me to clarify some doubts, Thanks for the contribution, Happy Day

 

Thank you very much for sharing your experience with us, I hope you are doing great now with Python language

Good luck!

 

I am still exploring the language and yes I am enjoying it as Python has such a friendly syntax :)
I chose this style of language approach so as to have my progress documented for future reference and also share it with the awesome community. It has also helped me to restart blogging again :)

 

Me too I used JS before for web development projects, then I decided to move to Python language to explore the world of AI and Machine learning, I liked the comparison between JS and Python, and I think it is a good way to master Python as fast as possible.

Have a nice day

Best regards,

 

I'm just guessing, but were you following the Andrei Neagoie's Python tutorial?

 

Yes. The roadmap is highly inspired by his lessons. I am a big fan :)

 

Great job in explaining the behind the scenes quite simply.

This looks great, I will be following this series.

 

Have a nice day,,,,
First of all "Thank you Sir", your doing such a great job, I love python coding, The way of your explanation is clear & awesome.
Thank you Sir

 

Glad that you liked it. Happy Coding 😊

 

It's actually JavaScript (and not javascript) and CPython and PyPy and so on. Most of the links are broken, too. Please, could you have the content proof-read?

 

Hey, thanks for the observations! I appreciate that!
It was my first post in the series and out of the excitement of sharing with the community, I didn't quite proof-read it. I'll hopefully get better at that :)
I have updated the links and corrected the suggested names as well.

 
 

Good work sir..how can a newbie use this roadmap?

 

You can follow along and try practising the code on your own. If this is the first time you are programming, things may look a bit difficult or confusing but stay focussed and learn one concept at a time. You don't need to learn a language in 30 days. You can learn it at your own pace. Make sure you understand the concepts well. Google stuffs, make mistakes and enjoy the journey. You will eventually be very good at it :)