Robot Operating System 2 (ROS2) is an open source middleware for the development of robot applications. This tutorial describes the architecture and the basic components. Furthermore, a comparison to ROS1 is drawn and the application with Python is explained in more detail.
How to use ROS2 CLI (Command Line Interface) to manage ROS2 projects and components?
What are “topics” in ROS2, and how is communication between nodes using the pub/sub mechanism?
How do you combine ROS2 with other programming languages, such as Python or C++, to develop robotic applications?
These questions are all answered on the ROS2 tutorial page.
Link: https://docs.ros.org/en/humble/Tutorials.html