parameters: (self, size=-1)
return_statement: return bytes(b)
docstring: Read and return up to size bytes, where size is an int.
  
          Returns an empty bytes object on EOF, or None if the object is
          set not to block and has no data to read.
docstring_summary: Read and return up to size bytes, where size is an int.
docstring_tokens: Read and return up to size bytes where size is an int .
function: def read(self, size=-1):
          """Read and return up to size bytes, where size is an int.
  
          Returns an empty bytes object on EOF, or None if the object is
          set not to block and has no data to read.
          """
          if size is None:
              size = -1
          if size < 0:
              return self.readall()
          b = bytearray(size.__index__())
          n = self.readinto(b)
          if n is None:
              return None
          del b[n:]
          return bytes(b)
function_tokens: def read ( self , size = - 1 ) : if size is None : size = - 1 if size < 0 : return self . readall ( ) b = bytearray ( size . __index__ ( ) ) n = self . readinto ( b ) if n is None : return None del b [ n : ] return bytes ( b )