bpy.context.scene.sequence_editor.sequences is a list like:
list = ["a", "b", "c"]
for element in list:
print( element )
this would print:
a
b
c
the for loop assigns each element from the list to a variable executes the commands (print in this case) and advances to the next element.
The same applies to your snippet s gets on value after another from the defined sequences. Adding a print statement before the if statement would show something like that:
<bpy_struct, ImageSequence("main_chart.jpg")>
<bpy_struct, ImageSequence("main_chart.jpg")>
<bpy_struct, SoundSequence("sound.wav")>
Now you know the name of the classes (ImageSequence or whatever is printed) and you can lookup the API Documentation
The dot is a syntax element that separates the name of an object by its properties.
You could also examine the available properties by using dir
print( dir(s) )
Which would print for an ImageSequence:
['__doc__', '__module__', '__slots__', 'alpha_mode', 'animation_offset_end',
'animation_offset_start', 'bl_rna', 'blend_alpha', 'blend_type', 'channel',
'color_multiply', 'color_saturation', 'colorspace_settings', 'crop', 'directory', 'effect_fader', 'elements', 'frame_duration', 'frame_final_duration',
'frame_final_end', 'frame_final_start', 'frame_offset_end', 'frame_offset_start', 'frame_start', 'frame_still_end', 'frame_still_start', 'lock', 'modifiers', 'mute', 'name', 'proxy', 'rna_type', 'select', 'select_left_handle', 'select_right_handle',
'speed_factor', 'strip_elem_from_frame', 'strobe', 'swap', 'transform', 'type',
'update', 'use_crop', 'use_default_fade', 'use_deinterlace', 'use_flip_x',
'use_flip_y', 'use_float', 'use_linear_modifiers', 'use_proxy', 'use_proxy_custom_directory', 'use_proxy_custom_file', 'use_reverse_frames', 'use_translation']
Related: