(self)
return iter(self.__fields_cache__.keys())
Iterate over known fields of the **instance**.

        Unlike ``iter(SubclassOfType)``, which iterates over all
        declared fields, this iterator matches only fields that exist
        in the object, based on the ``json_data`` used to create the
        object, and the one that provides the backing store:

        >>> json_data = { 'aInt': 1, 'aFloat': 2.1 }
        >>> obj = global_schema.TypeUsingPython(json_data)
        >>> for field_name in obj:
        ...    print(field_name, repr(obj[field_name]))
        a_int 1
        a_float 2.1
        >>> for field in obj.__class__:
        ...    print(repr(field))
        aInt: Int
        aFloat: Float
        aString: String
        aBoolean: Boolean
        aId: ID

        After it's set for the given instance, then it's included in
        the iterator:

        >>> obj.a_string = 'hello world'  # known field
        >>> for field_name in obj:
        ...    print(field_name, repr(obj[field_name]))
        a_int 1
        a_float 2.1
        a_string 'hello world'

        However that's valid for known :class:`Field` for the given
        :class:`ContainerType` subclasses:

        >>> obj.new_attr = 'some value'  # unknown field, not in 'iter'
        >>> for field_name in obj:
        ...    print(field_name, repr(obj[field_name]))
        a_int 1
        a_float 2.1
        a_string 'hello world'
Iterate over known fields of the **instance**.
Iterate over known fields of the ** instance ** .
def __iter__(self):
        '''Iterate over known fields of the **instance**.

        Unlike ``iter(SubclassOfType)``, which iterates over all
        declared fields, this iterator matches only fields that exist
        in the object, based on the ``json_data`` used to create the
        object, and the one that provides the backing store:

        >>> json_data = { 'aInt': 1, 'aFloat': 2.1 }
        >>> obj = global_schema.TypeUsingPython(json_data)
        >>> for field_name in obj:
        ...    print(field_name, repr(obj[field_name]))
        a_int 1
        a_float 2.1
        >>> for field in obj.__class__:
        ...    print(repr(field))
        aInt: Int
        aFloat: Float
        aString: String
        aBoolean: Boolean
        aId: ID

        After it's set for the given instance, then it's included in
        the iterator:

        >>> obj.a_string = 'hello world'  # known field
        >>> for field_name in obj:
        ...    print(field_name, repr(obj[field_name]))
        a_int 1
        a_float 2.1
        a_string 'hello world'

        However that's valid for known :class:`Field` for the given
        :class:`ContainerType` subclasses:

        >>> obj.new_attr = 'some value'  # unknown field, not in 'iter'
        >>> for field_name in obj:
        ...    print(field_name, repr(obj[field_name]))
        a_int 1
        a_float 2.1
        a_string 'hello world'

        '''
        return iter(self.__fields_cache__.keys())
def __iter__ ( self ) : return iter ( self . __fields_cache__ . keys ( ) )