code: def new_remove_attribute_transaction(self, ont_id: str, pub_key: str or bytes, attrib_key: str,
                                           b58_payer_address: str, gas_limit: int, gas_price: int):
          
          if isinstance(pub_key, str):
              bytes_pub_key = bytes.fromhex(pub_key)
          elif isinstance(pub_key, bytes):
              bytes_pub_key = pub_key
          else:
              raise SDKException(ErrorCode.params_type_error('a bytes or str type of public key is required.'))
          args = dict(ontid=ont_id.encode('utf-8'), attrib_key=attrib_key.encode('utf-8'), pk=bytes_pub_key)
          tx = self.__generate_transaction('removeAttribute', args, b58_payer_address, gas_limit, gas_price)
          return tx
docs: This interface is used to generate a Transaction object which is used to remove attribute.
  
          :param ont_id: OntId.
          :param pub_key: the hexadecimal public key in the form of string.
          :param attrib_key: a string which is used to indicate which attribute we want to remove.
          :param b58_payer_address: a base58 encode address which indicate who will pay for the transaction.
          :param gas_limit: an int value that indicate the gas limit.
          :param gas_price: an int value that indicate the gas price.
          :return: a Transaction object which is used to remove attribute.