🐍

Python Basics Overview

Sep 1, 2025

Overview

This lecture is a comprehensive introduction to Python, covering core programming concepts, practical applications, and hands-on projects, including automation, machine learning, and web development with Django.

Getting Started with Python

  • Python is a popular language for automation, AI, web development, and more.
  • Download Python from python.org and install the latest version (3.x).
  • Install a code editor like PyCharm (Community Edition is free).
  • Set up a new project and ensure the interpreter is set to Python 3.
  • Write and run your first Python program using the print() function.

Python Basics: Variables, Input, and Data Types

  • Variables temporarily store data in memory using assignment with =.
  • Data types include integers (int), floating-point numbers (float), strings (str), and booleans (bool).
  • Input is read from the user with input(), which always returns a string.
  • Convert input to int or float for calculations using int() or float().
  • Use type() to check the data type of a variable.

Working with Strings

  • Strings can use single (' ') or double (" ") quotes.
  • Use triple quotes (''' or """) for multi-line strings.
  • Access characters and slices with square brackets: s[0], s[1:4], s[-1].
  • String methods include upper(), lower(), find(), replace(), and len().
  • The in operator checks if a substring exists in a string.

Arithmetic and Assignment Operators

  • Operators: + (add), - (subtract), * (multiply), / (divide, float), // (divide, int), % (modulus), ** (exponent).
  • Augmented assignment: x += 3, x -= 3, etc.
  • Operator precedence: ** > * / // % > + -

Conditional Statements & Logic

  • if, elif, else control flow based on conditions.
  • Comparison operators: >, >=, <, <=, ==, !=
  • Logical operators: and, or, not
  • Use boolean expressions for decision-making.

Loops and Iteration

  • while loops repeat as long as a condition is true; increment counters to avoid infinite loops.
  • for loops iterate over strings, lists, or ranges.
  • Use nested loops for multi-dimensional data or patterns.

Collections: Lists, Tuples, and Dictionaries

  • Lists: ordered, mutable collections, accessed by index, sliced, and modified.
  • Tuples: immutable, defined with (), cannot be changed.
  • Dictionaries: store key-value pairs, access values by key, and use .get() for missing keys.
  • Use list and dictionary methods: append(), insert(), remove(), clear(), pop(), sort(), reverse(), copy(), count(), index().

Functions and Modules

  • Define functions with def, use parameters to receive data, and return to output results.
  • Arguments are values passed to functions; parameters are variables in the function definition.
  • Modules are .py files used to organize code; import with import or from ... import ...
  • Packages are directories (with init.py) that group related modules.

Error Handling & Comments

  • Use try...except to handle exceptions (ValueError, ZeroDivisionError, etc.).
  • Comments start with # and are for explanations, not restating obvious code.

Object-Oriented Programming

  • Define classes with class and instantiate objects.
  • Methods are functions within classes; use self for instance reference.
  • Constructors (init) initialize object state.
  • Inheritance lets classes derive from others, sharing code.

Automation & Files

  • Use Python to process files and automate tasks (e.g., update Excel spreadsheets with openpyxl).
  • Use pathlib for file and directory operations (check existence, create/remove directories, list files).

Machine Learning Introduction

  • Machine learning uses models and large datasets to make predictions.
  • Libraries: numpy (arrays), pandas (dataframes), matplotlib (plots), scikit-learn (algorithms).
  • Steps: load data, clean/split data, choose algorithm, train model, predict, evaluate accuracy.
  • Use Jupyter notebooks for data analysis and visualizations.

Web Development with Django

  • Django is a Python web framework for fast, scalable, and secure web apps.
  • Projects are structured into folders and modules; manage with manage.py.
  • Django provides reusable modules and project structure for consistency.

Key Terms & Definitions

  • Variable — A named location in memory to store data.
  • String — A sequence of characters.
  • Boolean — A data type with values True or False.
  • List — An ordered, mutable collection of items.
  • Tuple — An ordered, immutable collection.
  • Dictionary — A collection of key-value pairs.
  • Function — A reusable block of code for a specific task.
  • Module — A Python file (.py) containing related definitions.
  • Package — A directory containing Python modules.
  • Class — A blueprint for creating objects (instances).
  • Constructor — The init method that initializes an object.
  • Exception — An error detected during program execution.
  • Machine Learning Model — An algorithm trained to make predictions from data.

Action Items / Next Steps

  • Download and install Python 3 and PyCharm.
  • Complete practice exercises mentioned in each section.
  • Set up Jupyter and Anaconda for machine learning tutorials.
  • Download example datasets as instructed (Kaggle, bit.ly/music.csv).
  • Continue with the first automation and Django projects as guided.