class_docstr: Like `property`, but also triggers on access via the class, and it is the
  *class* that's passed as argument.
  
  Examples
  --------
  ::
  
      class C:
          @classproperty
          def foo(cls):
              return cls.__name__
  
      assert C.foo == "C"
class_docstr_tok: ["Like","`","property","`",",","but","also","triggers","on","access","via","the","class",",","and","it","is","the","*","class","*","that","'s","passed","as","argument",".","Examples","--","--","--","--",":",":","class","C",":","@","classproperty","def","foo","(","cls",")",":","return","cls.__name__","assert","C.foo","==","``","C","''"]
code: def fget(self):
      return self._fget
  
imports: import functools
  import itertools
  import re
  import sys
  import warnings
  from .deprecation import deprecated, warn_deprecated, rename_parameter, delete_parameter, make_keyword_only, deprecate_method_override, deprecate_privatize_attribute, suppress_matplotlib_deprecation_warning, MatplotlibDeprecationWarning
label_desc: Use image node_id 3 for calling the classproperty obj's underlying member method code with example usage: obj.fget() and returns: self