V Pythonu, stejně jako v NodeJS, můžete elegantně rozdělit kód aplikace do modulů (chcete-li balíčků) a ty pak můžete jednoduše importovat v jiné části aplikace.
Python:

NodeJS:

Protože NodeJS i Python jsou scriptovací jazyky, můžete modul spouštět přímo pod runtimem, a pak se hodí identifikovat, zda modul jen importujete, nebo jej přímo spouštíte.
To je v Pythonu úplně běžná praxe a dělá se následovně:

Ona podmínka testuje, zda je modul spouštěn přímo interpretem. Klasika a úplný základ v Pythonu.

__main__ v NodeJS

A tohoto chováni lze dosáhnout i v NodeJS následně:

Modul exportuje funkci nejaka_fce, která může být importována jiným modulem a vedle toho má privátní funkci main, kterou nelze v jiném modulu importovat (je privátní v rámci daného modulu), ale tato fuknce se vykoná, pokud je modul spuštěn přímo interpretem.
NodeJS nemá __name__, ale interní proměnnou require.main, která v případě, že script je spuštěn přímo interpretem a ne includován, obsahuje object module.
NodeJS má globální proměnou __filename, které ale obsahuje název souboru (s absolutní cestou), ale neidentifikuje, zda je soubor spouštěn interpretem.