No history yet

Python Basics

The Building Blocks of Code

At its core, programming is about working with data. To do that, we need a way to store and label it. In Python, we use variables. Think of a variable as a container with a name tag. You can put data inside it and then refer to that data using its name.

# Assigning a number to a variable
drawing_number = 101

# Assigning text to a variable
layer_name = "Dimensions"

# We can also update a variable's value
drawing_number = 102

The kind of data a variable holds is called its data type. Python has several built-in types, but let's focus on the essentials you'll use constantly.

Data TypeDescriptionExample
Integer (int)Whole numbers, without decimals.5, -20, 1000
Float (float)Numbers with decimals.3.14, -0.5, 150.0
String (str)Text, enclosed in single or double quotes."Hello", 'AutoCAD', "Layer 1"
Boolean (bool)Represents truth values.True, False

Python is smart enough to figure out the data type when you assign a value to a variable. This flexibility makes it easy to get started.

Making Decisions and Repeating Actions

A script that runs straight from top to bottom isn't very powerful. To make our code useful, we need to control its flow. We can tell it to make decisions or repeat actions using control structures.

Conditional statements allow your code to execute different actions based on whether a condition is true or false.

The most common way to do this is with an if statement. You can also provide alternative paths with elif (else if) and a final fallback with else.

layer_color = "red"

if layer_color == "red":
    print("This is a critical layer.")
elif layer_color == "yellow":
    print("This is a warning layer.")
else:
    print("This is a standard layer.")

What about repeating tasks? That's where loops come in. A for loop is perfect for when you want to iterate over a sequence of items, like a list of layer names.

layers = ["Walls", "Doors", "Windows"]

for layer in layers:
    print(f"Processing layer: {layer}")

A while loop is used to repeat a block of code as long as a certain condition remains true. It's useful when you don't know in advance how many times you need to repeat.

# This loop will count down from 5 to 1
count = 5

while count > 0:
    print(f"Countdown: {count}")
    count = count - 1 # This is crucial to avoid an infinite loop!

print("Liftoff!")

Packaging and Reusing Code

As your scripts grow, you'll find yourself writing the same chunks of code over and over. Functions let you package a block of code, give it a name, and run it whenever you want. This keeps your code organized and easy to maintain.

function

noun

A named sequence of statements that performs a computation. It can take inputs (parameters) and produce an output (return value).

You define a function with the def keyword. You can pass data into it through parameters, and it can send data back using a return statement.

# This function calculates the area of a rectangle
def calculate_area(length, width):
    area = length * width
    return area

# Call the function with arguments and store the result
rectangle_area = calculate_area(10.5, 5.0)
print(f"The area is: {rectangle_area}")

Functions are just the start. Python's real power comes from its vast collection of modules. A module is simply a file containing Python definitions and statements. You can import modules to bring new functions and variables into your script.

# Import the built-in 'math' module
import math

# Now we can use functions from the math module
radius = 5
circle_area = math.pi * (radius ** 2)
print(f"Area of the circle is: {circle_area}")

Handling Errors

Things don't always go as planned. Your script might try to divide by zero or open a file that doesn't exist. When Python encounters an error, it raises an exception and stops. If you don't handle the exception, your program will crash.

To gracefully handle potential errors, you can use a try...except block. You put the code that might fail in the try block, and the code that should run if an error occurs in the except block.

try:
    # This line will cause a ZeroDivisionError
    result = 10 / 0
    print(result)
except ZeroDivisionError:
    # This code runs only if the error occurs
    print("Error: Cannot divide by zero.")

print("The program continues after the error.")

By catching exceptions, you can prevent your script from halting unexpectedly and provide helpful feedback to the user. It's a key practice for writing robust code that can handle real-world situations.

Quiz Questions 1/6

In Python, what is the primary purpose of a variable?

Quiz Questions 2/6

What is the data type of the value 10.5 in Python?

With these fundamentals, you have the essential tools to start writing simple but powerful Python scripts.