1. Variables
- Definition:
Variables are named memory locations that store data. They allow you to
store and manipulate values in your programs. The data stored in variables
can be of different types (e.g., numbers, text, etc.).
- Naming
Rules:
- Names
must start with a letter or an underscore.
- Names
cannot contain spaces or special characters (other than underscores).
- Variable names are case-sensitive (myVar and myvar are different).
- Example
age = 25
name = "Alice"
height = 5.9
2. Data Types
- Definition:
Data types define the kind of data that can be stored in a variable.
Different programming languages offer different data types.
- Common
Data Types:
- Integer:
Represents whole numbers without decimal points (e.g., int in Python).
- Floating-point:
Represents numbers with decimal points (e.g., float in Python).
- String:
Represents text, usually enclosed in quotes (e.g., "Hello").
- Boolean:
Represents logical values True or False.
- Complex
Data Types:
- Lists/Arrays:
Collections of values (e.g., [1, 2, 3]).
- Dictionaries/Maps:
Key-value pairs for data storage (e.g., {"name":
"Alice", "age": 25}).
- Type
Conversion: Converting data from one type to another.
x = 10 # int
y = str(x) # converting to string
3. Operators
- Definition:
Operators are symbols or keywords that perform operations on variables and
values.
- Types
of Operators:
- Arithmetic
Operators: Used for basic mathematical operations.
- +
(Addition), - (Subtraction), * (Multiplication), / (Division), %
(Modulus)
- Comparison
Operators: Used to compare two values and return a Boolean result (True
or False).
- ==
(Equal to), != (Not equal to), > (Greater than), < (Less than)
- Logical
Operators: Combine Boolean expressions.
- and
(True if both are true), or (True if at least one is true), not
(Reverses the logical state)
- Assignment
Operators: Used to assign values to variables.
- =
(Assign), += (Add and assign), -= (Subtract and assign)
- Example:
a = 10
b = 20
result = a + b # Arithmetic
is_greater = a > b # Comparison
logical_result = (a > 5) and (b < 25) # Logical
4. Control Structures
- Definition:
Control structures dictate the flow of a program's execution. They allow
the program to make decisions, repeat operations, and execute code
conditionally.
- Conditional
Statements:
- If-Else
Statements: Execute code based on conditions.
if condition:
# Code block if condition is true
elif another_condition:
# Code block if another condition is true
else:
# Code block if all conditions are false
- Loops:
- For Loop: Iterates over a sequence (e.g., a list or range).
for i in range(5):
print(i)
- While
Loop: Repeats code as long as a condition is true.
while condition:
# Code block to repeat
5. Functions
- Definition:
Functions are reusable blocks of code that perform a specific task. They
make code modular, readable, and reusable.
- Components
of a Function:
- Function
Definition: The block of code that defines the function.
- Parameters:
Variables passed to the function to modify its behavior.
- Return
Statement: The value that the function outputs.
- Example:
def greet(name):
return "Hello, " + name
message = greet("Alice")
print(message) # Output: Hello, Alice
- Advantages:
Functions allow code reuse, modularity, and better organization.
6. Input/Output
- Definition:
Input/Output (I/O) operations allow the program to interact with the user
or the environment.
- Input:
Gathering data from the user or external sources.
- Example:
user_input = input("Enter your name: ")
- Output: Displaying data to the user or sending data to an external destination.
print("Hello, " + user_input)
7. Arrays/Lists
- Definition:
Arrays or lists are collections of items stored at contiguous memory
locations. In most languages, arrays hold elements of the same data type,
while lists can hold mixed data types (in languages like Python).
- Usage:
They allow you to store and manipulate multiple items using a single
variable.
numbers = [1, 2, 3, 4, 5] # List of integers
names = ["Alice", "Bob", "Charlie"] # List of strings
- Accessing
Elements: You can access elements in a list using indices (e.g., numbers[0]
for the first element).
8. Objects (Object-Oriented Programming)
- Definition:
Objects are instances of classes in object-oriented programming (OOP). A
class is a blueprint for creating objects, bundling data (attributes) and
methods (functions).
- Key
Concepts of OOP:
- Class:
Defines the structure and behavior of objects.
- Object:
An instance of a class.
- Attributes:
Variables that hold data for an object.
- Methods:
Functions that define behaviors of the object.
- Encapsulation:
Bundling data and methods that operate on the data within a single unit
(class).
- Inheritance:
Creating new classes based on existing classes.
- Polymorphism:
Allowing objects of different classes to be treated as instances of the
same class through a common interface.
- Example:
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
def start_engine(self):
print(f"The {self.brand} {self.model}'s engine has started.")
my_car = Car("Toyota", "Corolla")
my_car.start_engine() # Output: The Toyota Corolla's engine has started.
9. Exception Handling
- Definition:
Exception handling allows programs to deal with errors and unexpected
events in a controlled manner, preventing crashes and allowing for
graceful recovery.
- Common
Exceptions:
- ZeroDivisionError:
When attempting to divide by zero.
- FileNotFoundError:
When trying to access a file that does not exist.
- ValueError:
When a function receives an argument of the right type but inappropriate
value.
- Example:
try:
result = 10 / 0
except ZeroDivisionError:
print("Error: Cannot divide by zero.")
- Finally
Block: Executes code after the try and except blocks, regardless of
whether an exception occurred.
finally:
print("Execution complete.")
10. Comments
- Definition:
Comments are annotations in the code that are not executed by the program.
They are used to explain and document the code, making it easier to
understand.
- Single-Line
Comments: Start with a # in Python or // in languages like JavaScript.
# This is a comment
- Multi-Line
Comments: In Python, multi-line comments are typically enclosed in
triple quotes (""" ... """).
"""
This is a multi-line comment
"""
11. Loops and Iteration
- For
Loop: Used to iterate over a sequence (such as a list, tuple,
dictionary, set, or string).
for i in range(5):
print(i)
- While
Loop: Repeats as long as a condition is true. It is used when the
number of iterations is not known in advance.
count = 0
while count < 5:
print(count)
count += 1
- Loop
Control Statements:
- Break:
Exits the loop prematurely.
- Continue: Skips the current iteration and continues with the next one.
12. Recursion
- Definition:
Recursion occurs when a function calls itself as part of its execution.
It's a powerful tool for solving problems that can be broken down into
smaller subproblems of the same type.
- Base
Case: The condition under which the recursion ends.
- Example:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
result = factorial(5) # Output: 120