The way your system behaves with respect to the reading of "dot files" at login time, setting up aliases, setting up environment variables, and so on is all highly dependent on how you actually log in.
entr (http://entrproject.org/) provides a more friendly interface to inotify (and also supports *BSD & Mac OS X).
It makes it very easy to specify multiple files to watch (limited only by ulimit -n), takes the hassle out of dealing with files being replaced, and requires less bash syntax:
$ find . -name '*.py' | entr ./myfile.py