Para o QGIS 3, QgsMapLayerRegistrya funcionalidade do foi movida para QgsProject.
Portanto, para iterar sobre as camadas do mapa, você deve usar essa estrutura:
layers = QgsProject.instance().mapLayers()
.mapLayers()retorna um dicionário estruturado como {layer_x_id: layer_x, layer_y_id: layer_y, ....}. Em seguida, você pode iterar sobre camadas como:
for layer_id, layer in layers.items():
print(layer.name())
Como .mapLayers()retorna um dicionário ( dict), você também pode usar o .values()método do dicionário, que retorna apenas um listque contém camadas nesse caso. Em seguida, você pode iterar sobre camadas como:
layers = QgsProject.instance().mapLayers().values()
for layer in layers:
print(layer.name())
Se preferir, você pode iterar desta maneira:
layers = QgsProject.instance().mapLayers() # dictionary
for layer in layers.values():
print(layer.name())