Advanced Python Programming
Course Description
A three-day Advanced Python course for participants with existing Python experience, who wish to deepen their programming knowledge further. Participants will be enabled to design robust Python applications using modern development methods, including how to use an AI Assistant to improve efficiency when writing code and adding AI features to Python applications.
3 Days
€1250.00
Who is the course for?
It is expected that attendees have some work experience with Python and/or have attended the Introductory Python course.Learning Outcomes
At the conclusion of this course, attendees will be able to:Design robust Python applications using modern development methods
Use Classes to maximise code reuse and portability
Use design patterns when creating Python applications
Design and create multi-threaded Python applications
Create standalone Python interface with Tkinter and PyQt
Work with JSON and XML data
Access HTML from web pages
Create web based applications with Flask
Access and Edit Data from a relational database
Create and run Unit tests
Use Numpy for numerical calculations
Use Pandas for data analysis
Create your own Python modules
Use an AI Assistant to improve efficiency when writing code
Add AI features to a Python application
Python Review
Data Types and VariablesFlow of Control
Functions
Lists, Tuples and Dictionaries
Files
Exceptions
Classes
Class variables and methodsWorking with Properties
Special Class methods - "dunder" methods
The Python data model
Writing classes that can be sorted and iterated
Decorators
What is a decorator?Some sample decorators
Decorators for oo programming @property @dataclass
Creating your own decorators
Test Driven Development
Test Driven Development – Unit TestingPytest
VSCode Pytest integration
Writing a test fixture to run for every test
Writing a test fixture to run for every session
Database Programming
The SQLite moduleDatabase CRUD methods
The Data Access Object design pattern
Adding unit tests to the DAO
UI Programming
The TKInter moduleA basic windowed application
Widgets
Adding a list
Event handlers
Using AI Assistants for Coding
Overview of AIWarnings
Prompt engineering techniques
Getting ChatGPT or Copilot to write code
Iterative development
Working with APIs
The requests moduleMaking a call
Processing JSON / XML data
Blocking vs asynchronous calls
async await
PyQT UI Development
The PyQT modulePyQT vs TKInter
Creating a PyQT ui application
Adding widgets
Events
Listbox
Asynchronous api call from PyQT
Adding extra data to a ListBoxItem
Functional Programming
Functions are first class objectsPassing and returning functions
Lambda Functions
Map
Filter
Reduce
Web scraping
The BeautifulSoup moduleBasic concepts of web scraping
Extracting all elements of a particular type
Filtering out unwanted tags
Extracting elements from tags
Sample application, extract information from worldometers.info
Regular Expressions
Creating expressionsTesting your expressions using regex101.com
Searching
Using groups in an expression
Replace
Sample - command line utility to obfuscate email addresses
Writing and Maintaining your Own Python Library
The __init__.py file.toml files
Installing your module for local development
Adding an external dependency
Building your module
Introduction To Web Application Programming
The Flask moduleWeb development basics
Endpoints
Returning HTML
Using templates - the jinja template engine
Deploying your flask application
Adding AI To Your Python Application Using ChatGPT API
Making an API call from PythonIntroducing the ChatGPT API
Making a request
A sample AI powered application
Understanding Git and GitHub
Code for course is shared using GitHubCloning a repository
Pushing to a repo
Some GitHub features
Configuring a GitHub action to run automated tests
Python for Data Science - Numpy and Pandas
The Data Science HandbookClone repository
Installing dependencies from requirements.txt
Review Jupyter Notebooks
Execute all code
Python For Data Visualisation - MatplotLib and Seaborn
The Matplotlib samples pageCopying and running a sample
dataforsci.com
Cloning repository
Installing dependencies
Review topics
Executing code
PythonPython ProgrammingAdvanced PythonData AnalyticsAIArtificial IntelligenceArtificialIntelligence