Python Training

Get training from experts

Contact Us

Python Career Path & Certification Guide

Looking for a career in Python? Want to know what to study to become a data scientist? Check out our handy Python Certification and Career Path guide. We offer a core Python course that covers Python fundamentals and intermediate in a comprehensive, 4-day course. 

Core Python - Fundamentals & Intermediate Combined Training

If you are already familiar with other programming languages and wish to master Python we suggest our Core Python course which combines our Fundamentals Python training course with our Intermediate Python training course in a 4-day course that saves you time & money whilst ensuring you get to learn everything you need to know about core Python coding.

Python Fundamentals

  • Basic Concepts
    • fundamental concepts: interpreting and the interpreter, compilation and the compiler, language elements, lexis, syntax and semantics, Python keywords, instructions, indenting
    • literals: Boolean, integer, floating-point numbers, scientific notation, strings
    • comments
    • the print() function
    • the input() function
    • numeral systems (binary, octal, decimal, hexadecimal)
    • numeric operators: ** * / % // + –
    • string operators: * +
    • assignments and shortcut operators
  • Data Types, Evaluations, and Basic I/O Operations
    • operators: unary and binary, priorities and binding
    • bitwise operators: ~ & ^ | << >>
    • Boolean operators: not and or
    • Boolean expressions
    • relational operators ( == != > >= < <= ), building complex Boolean expressions
    • accuracy of floating-point numbers
    • basic input and output operations using the input(), print(), int(), float(), str(), len() functions
    • formatting print() output with end= and sep= arguments
    • type casting
    • basic calculations
    • simple strings: constructing, assigning, indexing, slicing comparing, immutability
  • Flow Control – loops and conditional blocks (20%)
    • conditional statements: if, if-else, if-elif, if-elif-else
    • multiple conditional statements
    • the pass instruction
    • building loops: while, for, range(), in
    • iterating through sequences
    • expanding loops: while-else, for-else
    • nesting loops and conditional statements
    • controlling loop execution: break, continue
  • Data Collections – Lists, Tuples, and Dictionaries
    • simple lists: constructing vectors, indexing and slicing, the len() function
    • lists in detail: indexing, slicing, basic methods (append(), insert(), index()) and functions (len(), sorted(), etc.), del instruction, iterating lists with the for loop, initializing, in and not in operators, list comprehension, copying and cloning
    • lists in lists: matrices and cubes
    • tuples: indexing, slicing, building, immutability
    • tuples vs. lists: similarities and differences, lists inside tuples and tuples inside lists
    • dictionaries: building, indexing, adding and removing keys, iterating through dictionaries as well as their keys and values, checking key existence, keys(), items() and values() methods
    • strings in detail: ASCII, UNICODE, UTF-8, immutability, escaping using the \ character, quotes and apostrophes inside strings, multiline strings, copying vs. cloning, advanced slicing, string vs. string, string vs. non-string, basic string methods (upper(), lower(), isxxx(), capitalize(), split(), join(), etc.) and functions (len(), chr(), ord()), escape characters
  • Functions
    •  defining and invoking your own functions and generators
    •  return and yield keywords, returning results,
    •  the None keyword,
    •  recursion
    •  parameters vs. arguments,
    •  positional keyword and mixed argument passing,
    •  default parameter values
    •  converting generator objects into lists using the list() function
    •  name scopes, name hiding (shadowing), the global keyword

Python Intermediate

  • Control and Evaluations
    • basic concepts: interpreting and the interpreter, compilation and the compiler, language elements, lexis, syntax and semantics, Python keywords, instructions, indenting
    • literals: Boolean, integer, floating-point numbers, scientific notation, strings
    • operators: unary and binary, priorities and binding
    • numeric operators: ** * / % // + –
    • bitwise operators: ~ & ^ | << >>
    • string operators: * +
    • Boolean operators: not and or
    • relational operators ( == != > >= < <= ), building complex Boolean expressions
    • assignments and shortcut operators
    • accuracy of floating-point numbers
    • basic input and output: input(), print(), int(), float(), str() functions
    • formatting print() output with end= and sep= arguments
    • conditional statements: if, if-else, if-elif, if-elif-else
    • the pass instruction
    • simple lists: constructing vectors, indexing, and slicing, the len() function
    • simple strings: constructing, assigning, indexing, slicing comparing, immutability
    • building loops: while, for, range(), in, iterating through sequences
    • expanding loops: while-else, for-else, nesting loops, and conditional statements
    • controlling loop execution: break, continue
  • Data Aggregates
    • strings in detail: ASCII, UNICODE, UTF-8, immutability, escaping using the \ character, quotes and apostrophes inside strings, multiline strings, copying vs. cloning, advanced slicing, string vs. string, string vs. non-string, basic string methods (upper(), lower(), isxxx(), capitalize(), split(), join(), etc.) and functions (len(), chr(), ord()), escape characters
    • lists in detail: indexing, slicing, basic methods (append(), insert(), index()) and functions (len(), sorted(), etc.), del instruction, iterating lists with the for loop, initializing, in and not in operators, list comprehension, copying and cloning
    • lists in lists: matrices and cubes
    • tuples: indexing, slicing, building, immutability
    • tuples vs. lists: similarities and differences, lists inside tuples and tuples inside lists
    • dictionaries: building, indexing, adding and removing keys, iterating through dictionaries as well as their keys and values, checking key existence, keys(), items() and values() methods
  • Functions and Modules (25%)
    • defining and invoking your own functions and generators
    • return and yield keywords, returning results, the None keyword, recursion
    • parameters vs. arguments, positional keyword and mixed argument passing, default parameter values
    • converting generator objects into lists using the list() function
    • name scopes, name hiding (shadowing), the global keyword
    • lambda functions, defining and using
    • map(), filter(), reduce(), reversed(), sorted() functions and the sort() method
    • the if operator
    • import directives, qualifying entities with module names, initializing modules
    • writing and using modules, the __name__ variable
    • pyc file creation and usage
    • constructing and distributing packages, packages vs. directories, the role of the __init__.py file
    • hiding module entities
    • Python hashbangs, using multiline strings as module documentation
  • Classes, Objects, and Exceptions
    • defining your own classes, superclasses, subclasses, inheritance, searching for missing class components, creating objects
    • class attributes: class variables and instance variables, defining, adding, and removing attributes, explicit constructor invocation
    • class methods: defining and using, the self parameter meaning and usage
    • inheritance and overriding, finding class/object components
    • single inheritance vs. multiple inheritance
    • name mangling
    • invoking methods, passing and using the self argument/parameter
    • the __init__ method
    • the role of the __str__ method
    • introspection: __dict__, __name__, __module__, __bases__ properties, examining class/object structure
    • writing and using constructors
    • hasattr(), type(), issubclass(), isinstance(), super() functions
    • using predefined exceptions and defining your own ones
    • the try-except-else-finally block, the raise statement, the except-as variant
    • exceptions hierarchy, assigning more than one exception to one except branch
    • adding your own exceptions to an existing hierarchy
    • assertions
    • the anatomy of an exception object
    • input/output basics: opening files with the open() function, stream objects, binary vs. text files, newline character translation, reading and writing files, bytearray objects
    • read(), readinto(), readline(), write(), close() methods

Contact Us

Please contact us for any queries via phone or our contact form. We will be happy to answer your questions.

3 Appian Place,373 Kent Ave
Ferndale,
2194 South Africa
Tel: +2711-781 8014 (Johannesburg)
  +2721-020-0111 (Cape Town)
ZA

Contact Form

contactform.caption

Contact Form