# tf.compat.v1.flags.FlagHolder

<br />

Holds a defined flag.

    tf.compat.v1.flags.FlagHolder(
        flag_values: https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/compat/v1/flags/FlagValues,
        flag: Flag[_T],
        ensure_non_none_value: bool = False
    )

This facilitates a cleaner api around global state. Instead of::

    flags.DEFINE_integer('foo', ...)
    flags.DEFINE_integer('bar', ...)

    def method():
      # prints parsed value of 'bar' flag
      print(flags.FLAGS.foo)
      # runtime error due to typo or possibly bad coding style.
      print(flags.FLAGS.baz)

it encourages code like::

    _FOO_FLAG = flags.DEFINE_integer('foo', ...)
    _BAR_FLAG = flags.DEFINE_integer('bar', ...)

    def method():
      print(_FOO_FLAG.value)
      print(_BAR_FLAG.value)

since the name of the flag appears only once in the source code.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `flag_values` | The container the flag is registered to. |
| `flag` | The flag object for this flag. |
| `ensure_non_none_value` | Is the value of the flag allowed to be None. |

<br />

<br />

<br />

<br />

| ## Attributes ||
|---|---|
| `default` | Returns the default value of the flag. |
| `name` | <br /> <br /> |
| `present` | Returns True if the flag was parsed from command-line flags. |
| `value` | Returns the value of the flag. <br /> If `_ensure_non_none_value` is `True`, then return value is not `None`. |

<br />

## Methods

### `__bool__`

    __bool__()

### `__eq__`

    __eq__(
        other
    )

Return self==value.

### `__nonzero__`

    __nonzero__()