About Code Forge® Academy of Programming
Welcome to CodeForge, a global community of students and learners passionate about programming! Our Discord server is dedicated to providing a platform for individuals from around the world to come together and learn various programming languages through simple, efficient, and digitally accessible tutorial classes. Whether you're a beginner or an experienced coder, CodeForge is the perfect place to enhance your skills, share knowledge, and connect with like-minded individuals. Join us today and start forging your coding skills!

Python Introduction Roadmap

Topics
Introduction
What is Python?
Python is a versatile, high-level, general-purpose programming language known for its readability and ease of use, making it a popular choice for beginners and experienced programmers alike.
HISTORY OF PYTHON
Guido van Rossum created Python in the late 1980s as an alternative to traditional programming languages. The first version was released in 1991. He is decorated by the title "The Great Dictator of Life" for his dominance in programming and his supreme authority over Python and depended languages.
Python program structure is similar to the data analysing and control methods used by Guglielmo Markoni in his invention of radio transmitters. Hence it is considered as the predecessor of python syntax.
FEATURES OF PYTHON
Python has a simple syntax and is relatively easy to learn, making it a great language for beginners.
Python is a high-level language, meaning it abstracts away many low-level details, allowing developers to focus on the logic of their program.
Python supports object-oriented programming (OOP) concepts like classes, objects, inheritance, and polymorphism.
Python is dynamically typed, which means you don't need to declare the data type of a variable before using it.
Python has an extensive collection of libraries and modules that make it suitable for various tasks, such as data analysis, web development, and more.
Python can run on multiple operating systems, including Windows, macOS, and Linux.
Python has a vast and active community, ensuring there are many resources available for learning and troubleshooting.
Python's syntax and nature make it ideal for rapid prototyping and development.
Python can easily integrate with other languages and tools, making it a popular choice for scripting and automation.
INSTALLING PYTHON...
You can access program in python using several online platform (python compilers). Most of them are free and facilitates google account sign in to save your code.
In today's interactive workshop, we are using such an online platform called Programiz, where you can try running the coding techniques you will learn here, whenever you like. For convienience.
Few notable apps i can suggest are pydroid, pymata, pyrun, etc..
It is the most widely used software for pythom programming.
C:\Users\Your Name>python --version
python --version
python3
Significance of Python over other languages







Levels Of Python knowledge
Based on the difficulty and experience required for various purposes, python knowledge is catogorized into 6 levels.
Beginner friendly python, easily understandable code, focuses on syntax , allows programmers to design solutions against basic problems dynamically and mathematically, debugging of code, exception handling, various beginner level modules and libraries.
Milestone to development field, focuses on Object Oriented Programming, code structures, design structures, design patterns, classes,methods, complex programms, etc..
Focuses on web frameworks using python language, full stack web developing using Django and microstack web development using flask, back end web development, integration of other web development and designing languages like html, css, js, php, etc..
Designing basic apps using libraries like kivy, tkinter. Designing advamced softwares and applications using python composite languages like Jython, Jedlin, Rust, Ruby, Kanat, Kotlin, Java etc..
Advanced datascience and database management, building firmwares, cybersecurity, firewalls, data automation, data proofreading, etc..
Exploring the field of machine Learning, algorithms, deep learning, reinforced learning, API integration, dataset training, language models, working with advanced libraries like pandas, keras, tensorflow, etc. Data processing, Big data, Artificial Intelligence and more..
All the six levels of python are available as individual certified courses at Code Forge Academy.
Python Basics
Variables, values and constants
Variables are certain memory locations allotted in the program to save data which are supposed to change over time. values are the data saved into the variables. in certain and situations, the values in the variables are not supposed to change during code execution. this value is called as constants. unlike most other languages, python doesn't have a way to declare a constant. so certain naming conventions are practiced to denote constant values.
When naming a variable or constant, only include upper and lowercase alphabets, numbers and under scores. no spaces or fullstops. name shouldn't start with a number or underscore. in case of names having spaces, use underscore instead or follow camelCase standard.
Operators

Control Structures
They are keywords which are used to run a certain codeblock as long as a specific condition is satisfied.
Checks whether the condition is satisfied before running the code. if ... states the initial condition, elif... elif... elif... can be used to define alrenate conditions, if the primary condition is not satisfied, else... definea the action to be taken if none of the conditions are satisfied.
CODEBLOCK today = "friday"if today == "sunday" :
__ print("Today is a holiday")
elif today == "saturday" :
__ print("Today is a weekend")
else :
__
Checks whether the condition is satisfied before executing the code and loops through it as long as the condition remain satisfied. break and continue are some of the methods used in for loop to terminate and skip the repeating code, even while the condition for the codeblock is satisfied.
for i in range(5) :__print(i)
here, the variable which pass through incrementation each time the loop repeats, is known as iterator, which controls the condition for the code execution.
While loop is similar to for loop in most cases, but the major difference between them is, in for loop the iteration number is known or predictable and the number of times the code is repeated is predefined before executing the code. But in while loop, the number of times the code repeats is unknown and the code repeats as long as the condition is proved to be unsatisfiable.
i=0while i<0 :
__ print(i)
i= i+1
Control Flow or Console Flow
print("32+18")
a =32/4
print(a)
print("Hello \t",a,"\n","Welcome to CodeForge"
Data Types
Data types defines in which format the data we store into a variable is saved. Unlike other programming languages, in python, the interpreter and compiler can self distinguish the type of data we store into a variable, to an extent. we can also convert one data type into other in most cases, while it may sometimes alters the data itself. Different datatypes occupy different amount of storage space in bytes.
Functions
They are a set of predefined code, saved in a location, which does not execute on its own unless it is called upon in the main program.
def myFunction ():__ a=6
__ b=7
__ print(a*b)
myFunction()
Libraries
A Python library is a collection of related modules. It contains bundles of code that can be used repeatedly in different programs. It makes Python Programming simpler and convenient for the programmer. As we don’t need to write the same code again and again for different programs.
In python, libraries are usually added to our main program by import keyword.
Lets try out a fun library this time. Open your Code Playground section and try out this code.
from turtle import *for i in range (4):
__ fd(20) __ lt(90)
Syntax
Python syntax is the set of rules that determine the structure and arrangement of code, including keywords, operators, indentation, and punctuation
Object Oriented Programming
Functions & Methods
It utalises global and local scopes to define the data used and stored within and it can except data as well as return data from and to between the function code block and main code.
Object Oriented Programming
OOP is an approach of generalizing a model that organizes the raw code, variables and related functions in a code, to the concept of objects, which can interact with each other.
It focuses on manupulating the objects rather than the logic that controls it. It is a complex approach and is suitable for large scale, complex programming like app development and machine learning.
Class Objects & Inheritance
Class - Categorizes datas and functions into groups which share similar logic, properties, and method of implementation.
Error Handling
Evaluation
Execution
Exception
__ for x in range (8):
__ __ print(y)
except SyntaxError:
__ print(" There is a syntax error")
except :
__ print("Something went wrong")
Data Structures
Data Structure Types

Data Structure Methods
Indexing
Indexing refers to the process of accessing a specific element in a sequence, such as a string or list, using its position or index number. Indexing in Python starts at 0, which means that the first element in a sequence has an index of 0, the second element has an index of 1, and so on.

File Handling
Text Files
CSV Data Files
Usually used in conjunction with data handling modules like numpy, pandas, etc. to tabulate and creating datasets from it.
JSON Data Files
Used to parse and process json files, which is similar to the dictionaries in python.
Algorithms
Sorting
Searching
Designing & Development
Design Patterns - Analogy Study
Development Patterns - Analogy Study
Package management
PyPi
They are open source python libraries made by independented python developers for advanced capabilities. They can be downloaded and imported from pypi.org website.
PIP
PIP is an inbuilt package installer of python which can conveniently install external python libraries from a terminal, updates existing ones and organise installed package libraries.
Git Repository
Git hub includes several standalone third party Repositories of python packages, developed by independent developers, providing a wide range of functionality and capabilities.
Conda
Conda is a cross-platform, language-agnostic package manager and environment management system, used for installing, updating, and managing software packages and their dependencies, particularly for data science and machine learning projects.
App Testing
Pytest
Pytest fixtures provide the contexts for tests by passing in parameter names in test cases; its parametrization eliminates duplicate code for testing multiple sets of input and output; and its rewritten assert statements provide detailed output for causes of failures.
Pykit or Pyunit
Pykit aka Pyunit test is a built-in testing framework that provides a set of tools for testing our code’s functionality in a more systematic and organized manner. With pykit framework, we can create test cases, fixtures, and suites to verify if our code behaves as expected. It allows us to write test methods within classes that check different aspects of our code such as input, output, and edge cases. It also supports test discovery making it easy for us to automate test execution across our project.it comes especially handy when testing object oriented programmings.