code: def n_frames(self):
      if self._n_frames is None:
          current = self.tell()
          try:
              while True:
                  self.seek(self.tell() + 1)
          except EOFError:
              self._n_frames = self.tell() + 1
          self.seek(current)
      return self._n_frames
  
imports: import itertools
  from .None import Image, ImageChops, ImageFile, ImagePalette, ImageSequence
  from ._binary import i8, i16le, o8, o16le
label_desc: Use image node_id 3 for calling the GifImageFile obj's underlying member method code with example usage: obj.n_frames() and returns: self