<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def ObsBandpass(obstring, graphtable=None, comptable=None, component_dict={}):
 """Generate a bandpass object from observation mode. If the bandpass consists of multiple throughput files (e.g., "acs,hrc,f555w"), then `ObsModeBandpass` is returned. Otherwise, if it consists of a single throughput file (e.g., "johnson,v"), then `~pysynphot.spectrum.TabularSpectralElement` is returned. See :ref:`pysynphot-obsmode-bandpass` and :ref:`pysynphot-appendixb` for more details. Parameters obstring : str Observation mode. graphtable, comptable, component_dict See `~pysynphot.observationmode.ObservationMode`. Returns ------- bp : `~pysynphot.spectrum.TabularSpectralElement` or `ObsModeBandpass` Examples -------- """

    ##Temporarily create an Obsmode to determine whether an
    ##ObsModeBandpass or a TabularSpectralElement will be returned.
    ob=ObservationMode(obstring,graphtable=graphtable,
                       comptable=comptable,component_dict=component_dict)
    if len(ob) > 1:
        return ObsModeBandpass(ob)
    else:
        return TabularSpectralElement(ob.components[0].throughput_name)