Video description
Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. This hands-on course will help you become a skilled software engineer with no prior programming experience needed.
You will start by learning the basics of Python such as variables, strings, Booleans, lists, tuples, dictionaries, generators, and so on as well as learning to write the first service test. Furthermore, you will learn to send requests in Python and understand how to modify permissions. You will also be able to explore Docker and SQL and learn to set up a local PostgreSQL Server. You will learn how to create tables using query results.
Moving further in the course, you will learn to integrate databases into your application and create database models in Python. You will be introduced to Redis and learn data compression. You will also get to know how to set up a GitHub desktop, and clone a repository as well as GitHub CLI. You will wrap up the course by having a look at threading in Python, multiprocessing pool, and async wait statements.
By the end of this course, you will feel comfortable with developing applications, have a portfolio item, and be ready to apply for software engineer positions and take on those technical interviews.
What You Will Learn
- Learn to write proper and clean Python code
- Learn to develop APIs in Python
- Learn to write scalable applications in Python
- Learn to interact with databases in code
- Learn to add caching to your code
- Learn to properly test your code
Audience
This course is for complete beginners who want to learn how to program and become software engineers. No prior programming experience is needed, you will learn everything you will need to know on the course.
About The Author
Maximilian Schallwig: Maximilian Schallwig is a data engineer and a proficient Python programmer. He holds a bachelor’s degree in physics and a master’s degree in astrophysics. He has been working on data for over five years, first as a data scientist and then as a data engineer. He can talk endlessly about big data pipelines, data infrastructure, and his unwavering devotion to Python.
Even after two unsuccessful attempts in high school, he still decided to learn Python at the University. He cautiously stepped into the realm of data, beginning with a simple Google search for “what does a data scientist do”
He was determined to pursue a career in data science to become a data engineer by learning about big data tools and infrastructure design to build scalable systems and pipelines. He enjoys sharing his programming skills with the rest of the world.
Table of contents
-
Chapter 1 : Introduction
- Introduction
- Setting Up Our Coding Environment
- Installing Python
- Writing Our First Program
- Variables
- String
- Integers, Floats, and Type Casting
- Booleans and Boolean Operations
- None Types
- Lists
- Tuples
- Dictionaries
- Formatting Strings and Writing Comments
- If Statements
- Elif and Else Statements
- For Loops
- While Loops
- Functions
- Function Parameters
- Global Variables
- File Handling
- Virtual Environments
- Launching Our First Application
- Classes
- Classes Inheritance
- Decorators
- Generators
- JSON and Text Response
- Typing
- Response Models
- Expanded Field Information
- Path Parameters
- Request Bodies
- Query Parameters
- Put and Delete
- Docstrings
- Async Functions
- Directory Structure
- API Routers Continued
- Environment Variables
- HTTP Status Codes
- Exceptions
- Logging
- Logging Formatter
- Custom Exception Handlers
- Headers and Dependencies
- Chapter 2 : Testing
-
Chapter 3 : Introduction to the Terminal
- Digital Ocean Setup
- SSH on Windows
- Connecting with SSH
- Basic Navigation
- Creating Folders
- Creating Files
- Removing Folders and Files
- Moving, Renaming, and Copying Files and Folders
- Environment Variables
- Piping and Redirecting
- Super User and Running Pythons Scripts
- Executables and Modifying Permissions
- Sending Requests
- Chapter 4 : Docker
-
Chapter 5 : SQL
- Introduction to Relational Databases
- Data Types and Schemas
- [Mac] Setting Up a Local PostgreSQL Server
- [Windows] Setting Up a Local PostgreSQL Server
- [Mac] SQL Editor Postico
- SQL Editor DataGrip
- SQL Editor CLI
- Creating and Removing a Database
- Creating Schemas
- Creating Tables
- Altering Tables
- Enumerated Types
- Inserting Values
- Running an SQL Script
- Reading Data
- Creating Tables Using Query Results
- Aliases and Ordering
- Conditional Filtering Direct Comparisons
- Conditional Filtering Grouped Comparisons
- Joining Conditionals
- Negating Conditionals
- Filtering Null Values
- Creating New Columns and Arithmetic
- Datatype Conversions
- Logic Statements
- Manipulating Strings
- String Positional Information
- String Subsets and Concatenations
- String Replacements
- Date and Time
- Date and Time Intervals
- Comments
- Aggregation Functions
- Grouping and Filtering Aggregations
- Inner Join
- Left, Right, and Outer Joins
- Self Joins
- Unions
- Subqueries
- Common Table Expression (CTEs)
- Window Functions and Aliases
- Row Numbers and Ranks
- Using Other Rows with Window Functions
- NTiles
- Understanding Query Performance
-
Chapter 6 : Integrating Databases into Our Application
- Adding Postgres to Our Docker Compose
- Creating Database Models in Python
- Database Migrations
- SQLAlchemy ORM Introduction
- Creating a Database Client
- Updating Our Application to Read from the Database
- Database Inserts
- Database Updates
- Database Deletes
- Async Database Queries
- Async Updates
- Updating Unit Tests to Work with the Database
- Updating Integration Tests to Work with the Database
- SQLite for Testing
- Mocking
- Chapter 7 : Caching
- Chapter 8 : Linting
- Chapter 9 : GitHub
-
Chapter 10 : Concurrent and Parallel Programming
- Threading, Multiprocessing, and Async Introduction
- Threading in Python
- Creating a Threading Class
- Creating a Wikipedia Reader
- Creating a Yahoo Finance Reader
- Queues and Master Scheduler
- Creating a Postgres Worker
- Integrating the Postgres Worker
- Yaml File Introduction
- Creating a Yaml Reader
- Improving Our Wiki Worker
- Improving All Workers and Adding Monitoring
- Final Program Clean-Up
- Locking
- Multiprocessing Introduction
- Multiprocessing Queues
- Multiprocessing Pool
- Multiprocessing Pool Map Multiple Arguments
- Multiprocessing Multiple Varying Arguments
- Multiprocessing Checking Elements in List in Certain Ranges
- Introduction to Writing Asynchronous Programs
- Asynchronous Tasks
- Async Gather Method
- Using Async Timeouts
- Creating Asynchronous For Loops
- Using Asynchronous Libraries
- The Async Wait Statement
- Combining Async and Multiprocessing
Product information
- Title: Python for Software Engineering Bootcamp
- Author(s):
- Release date: November 2022
- Publisher(s): Packt Publishing
- ISBN: 9781804617205
You might also like
video
Python - Object-Oriented Programming
Python is a fantastic OOP language that lets you use functional and OOP paradigms. Python offers …
book
Advanced Python Programming - Second Edition
Write fast, robust, and highly reusable applications using Python's internal optimization, state-of-the-art performance-benchmarking tools, and cutting-edge …
video
Python Programming Language
6+ Hours of Video Instruction Python Programming Language LiveLessons provides developers with a guided tour of …
video
Master Math by Coding in Python
Many people don’t know that Python is a really powerful tool for learning math. Sure, you …