Module 05 // Python Core

Python Basics

> The primitives of Python — variables, types, control flow, functions, and the built-in data structures every program rests on.

Variables & Types

Python is dynamically typed. You don't declare types — they're inferred at runtime.

name = class="str">"Ada"            class=class="str">"com"># str
age = 36                class=class="str">"com"># int
salary = 95000.50       class=class="str">"com"># float
is_active = True        class=class="str">"com"># bool
nothing = None          class=class="str">"com"># NoneType

class=class="str">"com"># Type checking
print(type(age))        class=class="str">"com"># <class class="str">'int'>
print(isinstance(name, str))  class=class="str">"com"># True

Strings & f-strings

first = class="str">"Ada"
last = class="str">"Lovelace"

class=class="str">"com"># f-string formatting (preferred)
greeting = fclass="str">"Hello, {first} {last}!"
print(greeting)

class=class="str">"com"># Useful methods
print(first.upper())          class=class="str">"com"># class="str">"ADA"
print(fclass="str">"{first:>10}")         class=class="str">"com"># right-pad
print(class="str">"a,b,c".split(class="str">","))     class=class="str">"com"># [class="str">'a', class="str">'b', class="str">'c']

Control Flow

class=class="str">"com"># if / elif / else
score = 87
if score >= 90:
    grade = class="str">"A"
elif score >= 80:
    grade = class="str">"B"
else:
    grade = class="str">"C"

class=class="str">"com"># for loop with range
for i in range(5):
    print(i)            class=class="str">"com"># 0, 1, 2, 3, 4

class=class="str">"com"># while loop
n = 10
while n > 0:
    n -= 1

Lists, Tuples, Sets, Dicts

The four core container types — each with different mutability and lookup semantics.

class=class="str">"com"># List — ordered, mutable
nums = [1, 2, 3]
nums.append(4)
nums[0] = 99

class=class="str">"com"># Tuple — ordered, immutable
point = (10, 20)

class=class="str">"com"># Set — unordered, unique
unique = {1, 2, 2, 3}   class=class="str">"com"># {1, 2, 3}

class=class="str">"com"># Dict — key/value
employee = {
    class="str">"name": class="str">"Ada",
    class="str">"salary": 95000,
}
print(employee[class="str">"name"])
employee[class="str">"dept"] = class="str">"Engineering"

List Comprehensions

Concise way to transform and filter sequences.

nums = [1, 2, 3, 4, 5]

squares = [n * n for n in nums]
evens = [n for n in nums if n % 2 == 0]

class=class="str">"com"># Dict comprehension
square_map = {n: n * n for n in nums}

Functions

def greet(name: str, greeting: str = class="str">"Hello") -> str:
    class="str">""class="str">"Return a greeting string."class="str">""
    return fclass="str">"{greeting}, {name}!"

print(greet(class="str">"Ada"))
print(greet(class="str">"Ada", greeting=class="str">"Hi"))

class=class="str">"com"># *args and **kwargs
def log(*args, **kwargs):
    for a in args:
        print(a)
    for k, v in kwargs.items():
        print(fclass="str">"{k}={v}")

Modules & Imports

import math
from datetime import datetime, timedelta
from collections import Counter

print(math.sqrt(16))                     class=class="str">"com"># 4.0
print(datetime.now() + timedelta(days=7))
print(Counter(class="str">"mississippi"))