On my Intel NUC; /dev/cec0 gets destroyed, then created again when my receiver goes into standby mode. I have tested this with this watch command, while no libcec clients are running:
watch -d -t -g eval '[ -e /dev/cec0 ] && stat /dev/cec0 2>/dev/null'
It happens quickly, but the file is removed, then replaced with a new device file with a new timestamp.
If a libcec client is running (whether via python-cec or just cec-client monitoring), the new device will fail to be created at /dev/cec0. It will instead appear at /dev/cec1, which will not be discoverable by python-cec or cec-client.