I usually put some print statements and stuff in the if block.
The syntax is kind of weird and I have to regularly look it up, but it's nice in a way because it makes it more obvious that this code isn't going to run if you are importing the file rather than running it directly. Which implies a nice way to write something like a util.py, where there is no main function and what's in the if block is for testing everything, not actually running the application.
I write a main function that is called by the name in main if block. I understand the reason behind it and also write name in main if blocks for utilities I import (eg utilities.py), which prints usage information to direct the user on how to use things properly.
It doesn't make sense initially but I've gotten used to it. Doesn't bother me anymore.
I usually make the if block into the command-line entry point, which instantiates an argument parser and calls main. Maybe I should move the parsing into main so it can be tested, but...