- Welcome to the blog! My name is Shashank, and I'm a student in the AI&ML branch. Don't worry, this is not going to be another inappropriate roadmap blog. This is where I unleash my technical side and write about my interest in python. you'll find it all here. So buckle up and take note of an interesting roadmap.
In early 2019 after my 10th standard, I decided to study Diploma and, I took Electrical engineering after some time I realize this branch is not meant for me I didn't have the option to switch branch to computer science. So I study Electrical Engineering so miserably and did not focus on any subject I ended up with an average CGPA in that course. In btech, I don't want to make another mistake like that. So I decided to get into AI&ML. In BTech, I ended up happy, after I realize I need to learn new languages and tech, after sometime research on some documentation I finally decided to learn python as my first programming language.
So what is Python? Python is a high-level programming language that supports object-oriented programming(OOP is a way of designing software around data and objects). Python is the world's fastest-growing language among geeks. And it is easier to write code and understandable language not unlike java, and C++. You can use Python to build web apps, mobile apps, and desktop applications as well as software testing and even hacking.
why are you learning python? Before you decided to learn python make your goals clear and make sure what you want to do, whether it is to building projects, web applications, or mobile apps like Instagram or Facebook. Make sure the end goals and focus on what you need. stay consistent throughout learning python.
- { When I decided to learn python my goal is to make a mobile application }
Learning guides! They are so many documentation, course, and tutorial videos on youtube, paid and unpaid courses as well. When you see various courses you ended being uninterested and can choice misled by others to learn or learn that. so make sure your choice and interest in that course.
Basics concepts in python :
Data Types & Variables
Basic data types — integers, floats, strings, and boolean
Variables & the Assignment Operator (=)
Overriding behavior of the Assignment Operator
Valid variable names in Python
Arithmetic Operators — addition, subtraction, multiplication, division, floor division, module, exponentiation (basically math stuff)
Precedence of Arithmetic Operators — basically BODMAS / PEDMAS rule stating whether addition, multiplication, brackets come first etc
Basic String Operators — concatenation (adding string together)& multiplication
Type Casting — basically forcibly changing a variable’s type
Comments in Python — stuff we write that is ignored by Python
User Input — allowing users to interact with your Python program
Compound Assignment Operators (+=, -=, *= and so on)
Quick Concept Check:
- Create 3 variables x=1, y=2 and z=3. Without changing these variables, print the string “x is 1, y is 2 and z is 3”
If Else Statements
Boolean Operators (==, >, <, >=, <= & !=)
Logical Operators (and, or & not)
Syntax of basic if, elif & else statements
Quick Concept Check:
Create a variable score and assign it to an integer. Write a program that prints “Grade A” if the score is above 80, “Grade B” if the score ranges from 50 to 79 and “Grade C” if the score is below 50.
Comment Down the answer if you try
Basic For Loops
Syntax of basic for loops
The range function & its 3 parameters — start, end, step
Quick Concept Check:
Using a for loop, print the string “apple” 5 times
Using a for loop, print out the numbers 1 to 5
Using a for loop, print out the numbers 2, 4, 6, 8, 10
Basic While Loops
Syntax of Basic While Loops
Stopping Condition VS Looping Condition
Forcibly breaking infinite While Loops (Depending on IDE)
Quick Concept Check:
Using a while loop, write
Using a while loop, write a program that continuously prompts the user for input, and exits only when the user types “exit”
Basic Functions
Basic function syntax: def keyword, function name, parameters
return keyword (vs print keyword)
Calling our function
Quick Concept Check:
Write a function add that takes in 2 integers and returns their sum
Write a function greet that takes in a string name and an integer age, and returns a string “Hello, my name names*,* and I am age this year.”
Write a function circle_area that takes in 1 integer radius, and returns the area of a circle. (area of circle = pi * radius²)
Strings & String functions
Basic String Operators — Concatenation & Multiplication
String Indexing (getting 1 character inside a string)
String Slicing (getting more than 1 character inside the string)
Common String Functions — len, upper, lower, strip, find, count, replace
Whitespace characters — space, tab and newline characters
Iterating through a string — for loop, while loop
Basic Lists
Basic List Syntax
Basic List Operators — Addition & Multiplication
List Indexing (getting 1 element inside the list)
List Slicing (getting more than 1 element inside the list)
Append function (adding elements to the back of the list)
Replacing existing elements in the list
Iterating through a list — for loop, while loop
Common List Functions — len, append, in, find count
Basic Dictionaries
Basic Dictionary Syntax
Significance of Keys & Values in dictionaries
What makes a key a valid key
Accessing values in dictionaries
Adding new key-value pairs
Iterating through dictionaries — for loop
Common Dictionary Functions — len, in, get, keys, values, items
File Reading & Writing
The syntax for file reading & writing
Mode: read vs append vs write
Iterating through lines of the read file
The above figure shows the python data types in a clear and interesting structure so check it. Building projects while learning can be a good choice and contribute to open source your decision may become a big difference while learning. In python, they are various frameworks for different web development, desktop application, and machine learning.
Frames for web development
Django
Pyramid
Bottle
For building desktop application
PyQT
Tkinter
Kivy
For machine learning
TensorFlow
PyTorch
sci-kit learn
Best resources to learn python
Crash Course on Python | Coursera: Python course offered by google it is beginner friendly course, in a weekly test will be conducted and you will also have discussion sessions with students like you ( use financial aid )
https://cs50.harvard.edu/python: Professor David Malan explains more interesting detail in python with games and interesting projects to build in between, so it is worth checking out.
https://docs.python.org/3/tutorial:
Tips
Be consistent, if you are not consistent enough, time and effort will increase day by day.
Build projects, while building projects it may give you some motivation to learn more and enhance python, it will affect your learning and you may learn fast.
Join hackathons, hackathons are a great place to showcase your learning and upskill yourself in some different frameworks as well. collaborating with other teammates give you networking opportunity as well.
Stick to your core goal and don't skip to another programming language in between.
Contribute to open source.
Practice 2-3 hrs a day and do regular questions related to your previous learnings.
conclusion:
As we come to the end of this blog about Python Roadmap, we hope that you have found all the information enlightening and helpful. Python is a popular programming language and mastering it can be a great asset in your career.
By following the comprehensive guide outlined in this blog, you will be able to enhance your knowledge of the language and become good at writing Python programs. Remember, practice makes perfect. So, take on challenging projects and keep building your skills. Lastly, don't forget that programming is not an overnight journey. Keep at it, stay open to learning new things, and strive to be better every day.
I wish you all the best on your Python journey!