Intro to Python (for experienced coders)
Length: 4 days
Description
This is an introduction to Python for experienced programmers. After taking this course, you will be ready to start using Python in your day-to-day work, helping your company to reap the benefits of the Python language.
This is the course that some of the world’s largest and best-known companies invite me to teach, again and again, to introduce their programmers to Python.
Let’s talk about how to customize this course for your team! Set a meeting at https://savvycal.com/reuven/corp-training.
Audience
People with programming experience who wish to learn Python and taken advantage of its power. (If you don’t have any experience programming, you should probably consider my Intro to Python for non-programmers.)
The course assumes that participants have up to one year of experience with Python, including zero experience. Most people taking this class have several years of experience with C, C#, C++, and/or Java. Many people who took university-level courses in Python took this class and found that it filled in many details that they hadn’t previously understood.
The course looks at Python’s basic data structures and functions, and introduces both functional and object-oriented programming techniques with the language.
The course includes a large number of exercises for hands-on practice, as well as live demos and the opportunity for questions.
Participants will receive the Jupyter notebooks into which I live-code during the class — including demos, exercises, and remarks.
Syllabus
• Fundamentals: Values. Assignment and variables. Indentation and blocks. Operators and equality. Conditionals.
• Data structures: Booleans. Integers and floats. Strings. Loops. Lists. Tuples. Unpacking. Dicts. Sets. Files.
• Functions: Defining functions. Positional vs. keyword arguments. Arguments and parameters. Return values. *args and **kwargs. Variable scoping (LEGB). Functions as objects.
• Functional programming: List comprehensions. Functions as arguments to other functions.
• Modules and packages: Using modules. Writing modules. Python’s standard library. PyPI. pip and uv.
• Object-oriented programming: Classes. Instances. Attributes. ICPO lookup. Inheritance. Magic methods.
• Exceptions: Trapping exceptions. Raising exceptions. Custom exception classes.
•
