Python Programming 1

Python is an object oriented rapid development language deployed in many scenarios in the modern world. This Python Programming 1 course is designed to give delegates the knowledge to develop and maintain Python scripts using the current version (V3) of Python.

Description

The Python Programming 1 course comprises sessions dealing with syntax, variables and data types, operators and expressions, conditions and loops, functions, objects, collections, modules and packages ,strings, pattern matching, exception handling, binary and text files ,and databases.

COURSE INTRODUCTION

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

SESSION 1: GETTING STARTED

  • About Python
  • Python versions
  • Python documentation
  • Python runtimes
  • Installing Python
  • The REPL shell
  • Python editors

SESSION 2: PYTHON SCRIPTS & SYNTAX

  • Script naming
  • Comments
  • Docstring
  • Statements
  • The backslash
  • Code blocks
  • Whitespace
  • Console IO (to enable the writing of simple programs)
  • A first Python program
  • Script execution

SESSION 3: VARIABLES & DATA TYPES

  • Literals
  • Identifiers
  • Assignment
  • Numbers (bool, int,float, complex)
  • Binary, octal ,and hexadecimal numbers
  • Floating point accuracy
  • Collections (str, list, tuple, set, dict)
  • None
  • Implicit and explicit type conversion (casting)
  • The type function

SESSION 4: OPERATORS & EXPRESSIONS

  • Arithmetic Operators
  • Assignment Operators
  • Comparison Operators
  • Logical Operators
  • Membership Operators
  • Bitwise Operators
  • Identity Operators

SESSION 5: CONDITIONS & LOOPS

  • Conditional statements (if, elif, else)
  • Nested conditional statements
  • Short hand if/if else
  • Python's alternative to the ternary operator
  • Iterative statements (while, for, else)
  • The range function
  • Iterating over a list
  • Break
  • Continue
  • Nested conditional/iterative statements

SESSION 6: FUNCTIONS

  • Declaration
  • Invocation
  • Default values for parameters
  • Named arguments
  • args and kwargs
  • Returning multiple values
  • None returned
  • Variable scope
  • Masking and shadowing
  • The pass keyword
  • Recursive functions

SESSION 7: OBJECTS AND CLASSES

  • About objects
  • Attributes and the dot notation
  • The dir function
  • Dunder attributes
  • Mutability
  • The id function
  • Pass by reference
  • Introduction to Classes
  • Class Declaration and Instantiation
  • Data attributes
  • Methods
  • Composition

SESSION 8: LISTS

  • About lists
  • List syntax including slicing
  • Getting and setting list elements
  • Iterating over a list
  • Checking for the presence of a value
  • The len function
  • List methods incl. append, insert, remove, pop, clear, copy, sort, reverse etc.
  • The del keyword
  • Appending to and combining lists
  • List comprehension

SESSION 9: TUPLES

  • About tuples
  • Tuple syntax
  • Getting tuple elements including unpacking
  • Iterating over a tuple
  • Checking for the presence of a value
  • The len function
  • Appending to and combining tuples

SESSION 10: SETS

  • About Sets
  • Dictionary syntax
  • Creating, adding and removing set elements
  • Iterating over a set
  • Membership Testing
  • Sorting
  • Copying
  • Set methods incl. union, intersection, difference, symmetric_difference etc

SESSION 11: DICTIONARIES

  • About dictionaries
  • Dictionary syntax
  • Getting and setting dictionary elements
  • Iterating over a dictionary (keys, values, and items)
  • Checking for the presence of a key
  • The len function
  • Dictionary methods incl. keys, values, items, get,pop ,popitem, clear etc.
  • The del keyword
  • Dictionary comprehension

SESSION 12: STRINGS

  • About strings
  • String syntax including slicing
  • Escape characters
  • Triple-quoted strings
  • Concatenation
  • Placeholders
  • The format method
  • Other methods e.g. endswith, find, join, lower,replace, split, startswith, strip, upper etc.
  • A string as a list of bytes

SESSION 13: MODULES & PACKAGES

  • About modules
  • Inbuilt modules math, random and platform
  • the dir() and help() functions
  • Creating and using modules
  • the __pycache__ and the .pyc files
  • The module search path
  • Importing modules
  • Namespaces
  • Importing module objects
  • The import wildcard
  • Aliases
  • Importing within a function
  • Executable modules
  • Reloading a module
  • About packages
  • Importing packaged modules
  • Importing packaged module objects
  • Package initialisation
  • Subpackages
  • Referencing objects in sibling packages
  • The Standard Library
  • Installing modules and packages using pip

SESSION 14: PATTERN MATCHING

  • About regular expressions
  • Regular expression special characters
  • Raw strings
  • About the re module
  • re module functions incl. match, search, findall, full match, split, sub

SESSION 15: EXCEPTION HANDLING

  • About exceptions and exception handling
  • Handling exceptions (try,except,else,finally)
  • Exception types
  • The exception object
  • Raising exceptions
  • Custom exception types
  • Built-in exceptions hierarchy

SESSION 16: FILES & THE FILESYSTEM

  • The open function
  • Methods for seeking (seekable,seek)
  • Methods for reading from a file (readable,read,readline,readlines)
  • Iterating over a file
  • Methods for writing to a file (writable,write,writelines)
  • Introduction to context managers
  • Text encoding schemes,codepoints,codespace
  • ASCII and UNICODE (UTF schemes)
  • UTF-8,binary and hexadecimal representations
  • The ord() and chr() functions
  • Binary files,bytes and bytearray
  • I/O layered abstraction.
  • About the os module
  • os module functions incl. getcwd,listdir,mkdir,chdir,remove,rmdir etc.
  • OSError numbers and the errno module

SESSION 17: DATABASES

  • The DB-API
  • DP-API implementations
  • Establishing a connection
  • Creating a cursor
  • Executing a query
  • Fetching results
  • Transactions
  • Inserting, updating, and deleting records

Similar events

This three-day course provides a comprehensive introduction to the MATLAB® technical computing environment. No prior programming experience or knowledge of MATLAB is assumed. Themes of data analysis, visualization, modelling, and programming are explored throughout the course.

More Information

After an introduction revisiting the key concepts of MBSE, this two-day course provides an introduction to architecture frameworks (AFs) and enabling patterns, giving delegates a model-based toolkit, the Framework for Architecture Frameworks (FAF), which can be used to aid in the definition of an AF or pattern. I

More Information

Learn about ‘A model-based approach to Systems Engineering, an approach to systems engineering which uses models to deal with complexity and improve communication with stakeholders. Discover how adopting a model-based approach can improve your systems engineering. A complete overview of MBSE and how it can be used in your business.

More Information

This course is an introduction to Python and its main data analysis libraries, Pandas and Matplotlib for delegates with some understanding of programming concepts. It is a two-part course, the first is an introduction to Python programming, the second introduces Python's data analysis tools. For the programming environment we use JupyterLab on the Anaconda platform. Anaconda is one of the most, if not the most, popular Data Science platforms.

More Information