Skip to content

lucaspaiva-lp/python-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

Python Lab

A personal learning repository focused on practical Python development through small, incremental projects.

This repository serves as a sandbox to practice core Python concepts, reinforce programming logic, and build confidence by solving problems hands-on. Each mini-project is isolated in its own branch to allow focused experimentation and versioning without cluttering the workspace.


Purpose

The main goals of this repository are to:

  • Develop solid programming logic using Python
  • Practice problem-solving through repetition and variation
  • Strengthen understanding of Python fundamentals in isolation
  • Build habits of writing, running, debugging, and refining code
  • Progress from simple scripts to slightly more structured programs

This is not a showcase repository. It is a learning workspace. Branches are used to separate mini-projects for clarity and experimentation.


Branches

Each mini-project is organized in its own branch to maintain isolation and clear progression:

  • calculator — arithmetic operations, input handling, and basic validation

Scope

Projects in this repository intentionally focus on:

  • Core Python syntax
  • Control flow (conditionals, loops)
  • Functions and decomposition
  • Data structures (lists, dictionaries, sets)
  • Basic state management
  • Error handling and edge cases

At early stages, projects avoid:

  • Frameworks
  • Databases
  • Complex architectures
  • Overengineering

Structure and organization are introduced gradually as learning progresses. Branches allow isolated development of different concepts and mini-projects.


Project Characteristics

  • Small scope
  • Single responsibility
  • Executable scripts
  • Emphasis on clarity over cleverness
  • Refactoring happens after correctness
  • Isolated experimentation per branch
  • Versioning via Git tags for key milestones

Some projects may appear simple or repetitive by design — repetition is intentional to reinforce learning and logic development.


Evolution

As proficiency increases, later exercises may introduce:

  • Basic modularization
  • Simple folder-based separation of concerns
  • Light architectural patterns (when justified)

Tags can be used within branches to mark stable versions or milestones.


Guidelines for Workflow

  • Keep each mini-project isolated in its branch
  • Commit frequently to capture progress
  • Use descriptive commit messages, e.g., chore(calculator): add input validation
  • Use tags for marking important versions, e.g., calculator-v0.1
  • Avoid merging unrelated mini-projects into the same branch

Disclaimer

Code quality, style, and solutions may vary across projects, reflecting different stages of learning and experimentation.

This repository is a personal learning tool, not a professional product.


License

This repository is for educational purposes.

Use, adapt, or reference freely.

About

This is repository, only python language. Does is develop multi-paradigma in python.

Topics

Resources

Stars

Watchers

Forks

Contributors