class_docstr: Create a zmq Context
  
  A zmq Context creates sockets via its ``ctx.socket`` method.
class_docstr_tok: ["Create","a","zmq","Context","A","zmq","Context","creates","sockets","via","its","``","ctx.socket","``","method","."]
docstr: delete default sockopts as attributes
docstr_tok: ["delete","default","sockopts","as","attributes"]
code: def __delattr__(self, key):
      """delete default sockopts as attributes"""
      key = key.upper()
      try:
          opt = getattr(constants, key)
      except AttributeError:
          raise AttributeError("no such socket option: %s" % key)
      else:
          if opt not in self.sockopts:
              raise AttributeError(key)
          else:
              del self.sockopts[opt]
  
imports: import atexit
  import os
  from threading import Lock
  from weakref import WeakSet
  from zmq.backend import Context
  from .None import constants
  from .attrsettr import AttributeSetter
  from .constants import ENOTSUP, LINGER, ctx_opt_names
  from .socket import Socket
  from zmq.error import ZMQError
label_desc: Use image node_id 20 for calling the Context obj's underlying member method code with example usage: obj.__delattr__(key) without return types