Python не имеет препроцессора и не имеет констант в том смысле, что их нельзя изменить - вы всегда можете измениться (почти, вы можете эмулировать постоянные свойства объекта, но делаете это ради констант Несс редко делается и не считается полезным) все. Определяя константу, мы определяем имя, которое пишется в верхнем регистре с подчеркиванием, и называем его днем - «Мы все здесь взрослые по обоюдному согласию», ни один здравомыслящий человек не изменит константу. Если, конечно, у него нет очень веских причин и он точно знает, что он делает, в этом случае вы не можете (и, вероятно, не должны) остановить его в любом случае.
Но, конечно, вы можете определить имя уровня модуля со значением и использовать его в другом модуле. Это не относится к константам или чему-либо еще, читайте в модульной системе.
# a.py
MY_CONSTANT = ...
# b.py
import a
print a.MY_CONSTANT