Question: If I write a python script, anyone can simply point an editor to it and read it. But for programming written in C, one would have to use decompilers and hex tables and such. Why is that? I mean I simply can't open up the Safari web browser and look at its code.

Answer: 
Python is a script language, runs in a virtual machine through an interpeter.
C is a compiled language, the code compiled to binary code which the computer can run without all that extra stuff Python needs.
Not all C programs require decompilers. There's lots of C code distributed in source form. And some Python programs *do* require decompilers, if distributed as bytecode (.pyc files).

But, to the extent that your assumptions are valid, it's because C is a [compiled language](http://en.wikipedia.org/wiki/Compiled_language) while Python is an [interpreted language](http://en.wikipedia.org/wiki/Interpreted_language).