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: set default sockopts as attributes
docstr_tok: ["set","default","sockopts","as","attributes"]
code: def _set_attr_opt(self, name, opt, value):
      """set default sockopts as attributes"""
      if name in constants.ctx_opt_names:
          return self.set(opt, value)
      else:
          self.sockopts[opt] = value
  
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 18 for calling the Context obj's underlying member method code with example usage: obj._set_attr_opt(name, opt, value) and returns: self