Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐍 Python Learning Journey (PCEP β†’ PCAP)

πŸ“ˆ Overall Progress

Progress: 59% β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 59%

Primary goals: ⬜ Pass PCEP ⬜ Pass PCAP ⬜ Build a practical Python portfolio ⬜ Be ready for Python development opportunities

βœ… Learning Plan

🟩 Setup and Fundamentals

βœ… Python available on Linux βœ… Thonny installed and opened βœ… PyCharm installed and opened βœ… VS Code installed and opened βœ… Run and save Python programs βœ… Comments βœ… Keywords and identifiers βœ… Variables βœ… Basic data types

πŸ”΅ Strings

βœ… Creating strings βœ… Indexing and negative indexing βœ… Slicing βœ… String methods βœ… Formatting with f-strings

🟑 Containers

βœ… Lists βœ… Tuples βœ… Sets βœ… Dictionaries

🟠 Operators and Conversion

βœ… Arithmetic operators βœ… Assignment operators βœ… Comparison operators βœ… Logical operators βœ… Bitwise and special operators βœ… Implicit type conversion βœ… Explicit type casting

🟣 Flow Control

βœ… if βœ… if / else βœ… if / elif / else βœ… Nested conditions

πŸ” Loops

βœ… for βœ… range() βœ… while βœ… break βœ… continue βœ… pass βœ… Loop else blocks

βš™οΈ Functions

βœ… Creating and calling functions βœ… Parameters and positional arguments βœ… Return values βœ… Default parameters βœ… Keyword arguments βœ… *args βœ… Recursion βœ… Lambda functions

🌐 Scope and Namespaces

βœ… Local scope βœ… Global scope βœ… Enclosing and nonlocal scope βœ… Built-in scope βœ… global and nonlocal keywords

πŸ“¦ Modules and Packages

βœ… import βœ… from ... import βœ… Module aliases βœ… Creating modules βœ… Packages

πŸ“„ Files and Directories

βœ… Reading files βœ… Writing files βœ… with open() βœ… File modes βœ… Working with directories

🚨 Exceptions

βœ… try βœ… except βœ… else βœ… finally ⬜ Common built-in exceptions ⬜ Custom exceptions

πŸ—οΈ Object-Oriented Programming

⬜ Classes ⬜ Objects ⬜ Attributes ⬜ Methods ⬜ Constructors and init ⬜ self ⬜ Inheritance ⬜ Method overriding ⬜ super() ⬜ Encapsulation ⬜ Polymorphism

πŸš€ Advanced Course Topics

⬜ Multiple inheritance ⬜ Multilevel inheritance ⬜ Method Resolution Order ⬜ Operator overloading ⬜ Iterators ⬜ Custom iterators

πŸ’» Practical Projects

⬜ Calculator ⬜ File organiser ⬜ CSV reader ⬜ API client ⬜ AI API script ⬜ Property cashflow calculator ⬜ Linux automation script ⬜ GitHub portfolio

πŸ† Certifications

⬜ PCEP exam ⬜ PCAP course ⬜ PCAP exam

🌟 Career Additions β€” Not Part of This Course

These are deliberate additions for practical development ability and employability. They are not listed as part of the supplied training presentation.

⬜ Git basics ⬜ Virtual environments (venv) ⬜ pip and dependency installation ⬜ requests for APIs ⬜ pathlib for files and paths ⬜ JSON handling ⬜ argparse for command-line tools ⬜ pytest for testing ⬜ Build five polished portfolio projects


Python Learning Hub

Purpose

This document is the working hub for the PCEP and later PCAP training. It condenses the supplied Python for Beginners presentation into practical study notes without copying the full slide deck or its animations.

Course Source

Presentation: Python for Beginners, presented by Isaac. Primary environment: Thonny IDE. Python scripts use the .py extension. Other IDEs such as IDLE, PyCharm and VS Code can also run Python.

Core Language Foundations

Python is cross-platform, free and open-source. The language is case-sensitive and uses indentation to define code blocks.

Keywords and identifiers

Keywords are reserved words with a special meaning and cannot be used as variable, function or class names. Identifiers are names given to variables, functions, classes and methods.

Identifier rules:

  • Start with a letter or underscore.
  • May contain letters, digits and underscores.
  • Cannot start with a digit.
  • Cannot contain spaces or special symbols.
  • Cannot be a Python keyword.
  • Names are case-sensitive.

Comments

A hash symbol starts a single-line comment. Triple-quoted text can span multiple lines, although it is also used for strings and docstrings.

Data Types

Numbers

  • int: whole numbers
  • float: decimal numbers
  • complex: numbers with real and imaginary parts
  • type() reports the class of a value

Python also supports binary, octal and hexadecimal notation.

Core containers

  • list: ordered, indexed, mutable, duplicates allowed
  • tuple: ordered, indexed, immutable
  • set: unordered collection of unique values
  • dictionary: ordered key-value pairs with unique immutable keys

Strings

Strings are immutable sequences of characters enclosed in single or double quotes. They support indexing, negative indexing, slicing, concatenation, iteration, membership tests and methods such as upper(), lower(), replace(), split() and startswith(). f-strings embed values inside text.

Type Conversion

Implicit conversion happens automatically where Python can safely promote a value, such as int to float. Explicit conversion uses functions such as int(), float(), str() and complex(). Explicit conversion may discard information, for example converting a float to an integer.

Input and Output

  • print() displays output.
  • input() reads user input and returns a string.
  • Convert input explicitly when a number is required.

Operators

  • Arithmetic: +, -, *, /, //, %, **
  • Assignment: = and compound forms such as +=
  • Comparison: ==, !=, <, <=, >, >=
  • Logical: and, or, not
  • Bitwise operators
  • Special operators such as membership and identity operators

Namespace and Scope

A namespace maps names to objects. Python commonly uses built-in, global, enclosing and local scopes. A name referenced inside a function is searched from the closest local scope outward. Variables declared outside functions are global. Variables created inside functions are local unless global or nonlocal is used.

Flow Control

Conditions

  • if executes a block when a condition is true.
  • if...else chooses between two alternatives.
  • if...elif...else handles multiple alternatives.
  • Nested if statements place one condition inside another.

Loops

  • for iterates through a sequence or range.
  • while repeats while a condition remains true.
  • break exits a loop immediately.
  • continue skips to the next iteration.
  • pass is a valid placeholder that performs no operation.
  • Loop else blocks run when a loop finishes normally, but not after break.

Functions

A function is a reusable block of code declared with def. It may accept parameters and return a value.

Function concepts:

  • positional arguments
  • keyword arguments
  • default parameter values
  • arbitrary positional arguments using *args
  • return ends a function and sends a value back
  • recursion is when a function calls itself and requires a base condition
  • lambda creates a small anonymous function containing one expression

Modules and Packages

A module is a Python file containing code that can be imported. Use import module and access members with dot notation. Use from module import name to import specific definitions. Aliases can shorten names. Importing everything with * is discouraged because it can create naming collisions.

A package groups related modules in directories. The presentation describes init.py as the marker used for a package.

File and Directory Handling

File workflow:

  1. Open the file.
  2. Read or write.
  3. Close it.

Prefer with open(...) because it closes the file automatically, including when an exception occurs. Common modes include r for reading and w for writing. Opening an existing file with w erases its current contents.

The os module provides directory functions such as getcwd() and chdir().

Exceptions

Exceptions are runtime problems represented by exception objects.

Use:

  • try for code that may fail
  • except to handle a specific exception
  • else for code that runs when try succeeds
  • finally for cleanup that must always run

Examples include ZeroDivisionError, FileNotFoundError, ImportError and IndexError. Custom exceptions can inherit from Exception.

Object-Oriented Programming

A class is a blueprint; an object is an instance of that class.

Key concepts:

  • attributes store object data
  • methods are functions defined inside classes
  • init initializes new objects
  • self refers to the current instance
  • inheritance creates a child class from a parent class
  • method overriding replaces inherited behavior
  • super() accesses parent-class behavior
  • encapsulation groups data and methods and uses naming conventions such as _ and __
  • polymorphism allows the same interface or method name to behave differently
  • multiple and multilevel inheritance are supported
  • Method Resolution Order decides which inherited method Python selects
  • operator overloading uses special methods such as add and lt

Iterators

An iterator returns items one at a time. It implements iter() and next(). iter() creates an iterator and next() retrieves the next value. When exhausted, it raises StopIteration. A for loop handles this process automatically.

Priority for PCEP Preparation

Master first:

  1. variables and basic data types
  2. strings and type conversion
  3. lists and tuples
  4. dictionaries and sets
  5. input and output
  6. operators
  7. if, elif and else
  8. for and while loops
  9. functions, parameters and return values
  10. basic exceptions, modules and scope

Treat detailed OOP, inheritance, operator overloading, custom iterators and advanced package structure as later or PCAP-oriented material unless the instructor includes them in the PCEP assessment.

Working Method

For each class topic:

  1. Add concise notes here.
  2. Type every example manually in Thonny.
  3. Recreate the same exercise in PyCharm to build IDE familiarity.
  4. Save useful scripts in a structured Git repository.
  5. Add mistakes, corrections and exam traps to this document.

πŸ”— Exam and Study Resources

Official references:

Practice resources:

Mock exam notes:

  • Keep this as a study resource only.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages