Original Agenda: Python For SAP Developers (2023-03-13 - 2023-03-15)¶
Agenda (i.e., a basis for further discussion) for a three day Python training. Exercises will be woven in on demand (see here).
Day 1: Basics¶
Goal: gain a basic understanding of Python: variables, datatypes, some language internals (good to know if one wants to do more).
Setup¶
Datatypes¶
An overview of the language, how variables are used, and which primary datatypes there are.
Control Flow, Sequences, Iteration¶
Basic branching and looping. Iteration (via the for
loop) is an
important topic in Python, which is why we dedicate some time to it.
More Datatypes¶
There is more to say about datatypes than what has already been said (there is always more to everything in Python). What’s mutable, va. immutable, and what are the consequences? How can we save another three lines of code? What’s Pythonic?
Day 2: Outlook Into Advanced Python¶
Goal: there’s always more. OO isn’t necessary, for example, nonetheless Python is strongly object oriented internally [1]. Exception handling isn’t necessary either (one can always let exceptions pass by and terminate the program). Knowing what decorators are isn’t necessary either, much like the iterator protocol, or context managers.
If you want to do more (probably with less code), you’ll want to know more; on day 2 we take a look into some topics that are optional, but good to at least know the basics of.
OO Introduction¶
Python is strongly object oriented internally - even an int
is an
object of class int, for example. It does not impose OO knowledge on
its users though; nevertheless knowing a bit of it cannot hurt.
Exception Handling¶
Error handling is commonly done using exceptions - a construct that lets you focus your code on the sunny case, and do clumsy error handling in a separate section of the code.
Context Managers (Automatic Cleanup)¶
Much like error handling, resource cleanup tends to become clumsy. Context managers are a way to bring more structure to that part of a program.
Iteration, Generators, Comprehensions¶
Iterating over large sets of data - while at the same time saving
resources - is one of the absolute strengths of Python. Lets dive a
bit deeper into what a for
loop actually is.
Day 3: Domain Specifics¶
That day is dedicated to solving domain specific problems: implementing a SAP data pipeline in Python.
Pandas¶
From Pandas …
NumPy¶
NumPy overview
Unit Testing¶
Footnotes