In iface (PyQGIS 3) there are 12 methods that involve "Zoom":
zoomFull, zoomToActiveLayer, zoomToNext, zoomToPrevious, actionZoomActualSize, actionZoomFullExtent, actionZoomIn, actionZoomLast, actionZoomNext, actionZoomOut, actionZoomToLayer, actionZoomToSelected
and in QgsMapCanvas other 13 additional methods:
zoomByFactor, zoomIn, zoomLastStatusChanged, zoomNextStatusChanged,
zoomOut, zoomScale, zoomToFeatureExtent, zoomToFeatureIds,
zoomToFullExtent, zoomToNextExtent, zoomToPreviousExtent,
When I use, e.g. 'zoomToActiveLayer' iface method at Python Console, for polygon1 as Active Layer (see following image):
I got result of following image.
You can try out whatever of above methods (use 'help' for command syntax if it is necessary).