Syntax

MicroPython implements Python 3. You write indentation, functions, classes, exceptions, generators, closures and async/await the same way. The gaps are in the library and in a few implementation limits, not in the look of the language.

What you can rely on

Usual differences

TopicWhat happens
Standard libraryA subset. json, re, struct, time, os, sys are there; pathlib and desktop-only modules are not.
Floating pointOptional on the smallest chips. Some ESP8266 builds are integer-only.
Error messagesShorter. Tracebacks can omit source lines unless the build keeps them.
Multiple inheritanceNot supported.
eval / execPresent on most builds; can be compiled out.
Monkey-patching builtinsRestricted compared with CPython.
Filesystemopen() talks to the on-board flash (or an SD card), not your laptop disk, unless you are on the unix port.

The maintained list is CPython differences in the official docs.

Identifiers you will see only here

const() from micropython freezes a value at compile time. @micropython.native and @micropython.viper emit machine code for a function. mem_info() and alloc_emergency_exception_buf() are runtime knobs. These are not CPython.