CodeBlanks Logo Icon CodeBlanks

Class design

Design the helper library class skeleton.

Project: Utility library

In this 5-lesson project you'll build a reusable utility library. Each lesson adds one piece, and by the final lesson you'll have a working module.

You'll use what you learned in previous groups: classes, methods and class attributes. Throughout the project you'll design a Utility class: a structure that bundles string, number and date helper methods in one package.

Utility class skeleton

We'll start the project with a class named Utility. We'll add a class attribute to its body: version = "1.0". This shows the library version.

Example: class Utility:\n version = "1.0". The class name starts with an uppercase letter; the body is indented after a colon. Access it via Utility.version; no instance is needed.

Practice Define the Utility class

Write the first piece of this project. Define a class named Utility. Add the class attribute version = "1.0" in the body. After the class, print the version with print(Utility.version).

Starter code

main.py
# Define the Utility class

Sample solution

main.py
class Utility:
    version = "1.0"

print(Utility.version)

Expected output

1.0

Questions and answers

Review the lesson questions together with their answers. To test yourself, solve the lesson interactively.

1 Why bundle helpers in a class?

  • It bundles data and behavior in one unit, easing reuse Correct answer
  • It slows code down but improves readability
  • It is only used for file operations
  • It makes variable definitions unnecessary

Explanation: A class groups related methods in one unit, so you can reuse the code in other projects.

2 Complete the class declaration

Question
class ____:
    version = "1.0"
Answer
class Utility:
    version = "1.0"

Explanation: Class names use PascalCase; Utility starts with an uppercase letter.

3 Match the class parts

Term Meaning
Utility Class name
version Class attribute
Utility.version Access via class

All lessons in Intermediate