How about if i rename this print_header(),remove the print counts, then __str__() will call print_header() and the PhSpectra __str()__ which i will implement to print the ebins and counts.  
This implements __str__() for both classes and gives an option just to print the header info without the spectrum
is that sensible?