@@ -248,246 +248,6 @@ Object Protocol
248
248
of base classes).
249
249
250
250
251
-
.. c:function:: int PyCallable_Check(PyObject *o)
252
-
253
-
Determine if the object *o* is callable. Return ``1`` if the object is callable
254
-
and ``0`` otherwise. This function always succeeds.
255
-
256
-
257
-
.. c:function:: PyObject* PyObject_CallNoArgs(PyObject *callable)
258
-
259
-
Call a callable Python object *callable* without any arguments. It is the
260
-
most efficient way to call a callable Python object without any argument.
261
-
262
-
Return the result of the call on success, or raise an exception and return
263
-
``NULL`` on failure.
264
-
265
-
.. versionadded:: 3.9
266
-
267
-
268
-
.. c:function:: PyObject* _PyObject_CallOneArg(PyObject *callable, PyObject *arg)
269
-
270
-
Call a callable Python object *callable* with exactly 1 positional argument
271
-
*arg* and no keyword arguments.
272
-
273
-
Return the result of the call on success, or raise an exception and return
274
-
``NULL`` on failure.
275
-
276
-
.. versionadded:: 3.9
277
-
278
-
279
-
.. c:function:: PyObject* PyObject_Call(PyObject *callable, PyObject *args, PyObject *kwargs)
280
-
281
-
Call a callable Python object *callable*, with arguments given by the
282
-
tuple *args*, and named arguments given by the dictionary *kwargs*.
283
-
284
-
*args* must not be ``NULL``, use an empty tuple if no arguments are needed.
285
-
If no named arguments are needed, *kwargs* can be ``NULL``.
286
-
287
-
Return the result of the call on success, or raise an exception and return
288
-
``NULL`` on failure.
289
-
290
-
This is the equivalent of the Python expression:
291
-
``callable(*args, **kwargs)``.
292
-
293
-
294
-
.. c:function:: PyObject* PyObject_CallObject(PyObject *callable, PyObject *args)
295
-
296
-
Call a callable Python object *callable*, with arguments given by the
297
-
tuple *args*. If no arguments are needed, then *args* can be ``NULL``.
298
-
299
-
Return the result of the call on success, or raise an exception and return
300
-
``NULL`` on failure.
301
-
302
-
This is the equivalent of the Python expression: ``callable(*args)``.
303
-
304
-
305
-
.. c:function:: PyObject* PyObject_CallFunction(PyObject *callable, const char *format, ...)
306
-
307
-
Call a callable Python object *callable*, with a variable number of C arguments.
308
-
The C arguments are described using a :c:func:`Py_BuildValue` style format
309
-
string. The format can be ``NULL``, indicating that no arguments are provided.
310
-
311
-
Return the result of the call on success, or raise an exception and return
312
-
``NULL`` on failure.
313
-
314
-
This is the equivalent of the Python expression: ``callable(*args)``.
315
-
316
-
Note that if you only pass :c:type:`PyObject \*` args,
317
-
:c:func:`PyObject_CallFunctionObjArgs` is a faster alternative.
318
-
319
-
.. versionchanged:: 3.4
320
-
The type of *format* was changed from ``char *``.
321
-
322
-
323
-
.. c:function:: PyObject* PyObject_CallMethod(PyObject *obj, const char *name, const char *format, ...)
324
-
325
-
Call the method named *name* of object *obj* with a variable number of C
326
-
arguments. The C arguments are described by a :c:func:`Py_BuildValue` format
327
-
string that should produce a tuple.
328
-
329
-
The format can be ``NULL``, indicating that no arguments are provided.
330
-
331
-
Return the result of the call on success, or raise an exception and return
332
-
``NULL`` on failure.
333
-
334
-
This is the equivalent of the Python expression:
335
-
``obj.name(arg1, arg2, ...)``.
336
-
337
-
Note that if you only pass :c:type:`PyObject \*` args,
338
-
:c:func:`PyObject_CallMethodObjArgs` is a faster alternative.
339
-
340
-
.. versionchanged:: 3.4
341
-
The types of *name* and *format* were changed from ``char *``.
342
-
343
-
344
-
.. c:function:: PyObject* PyObject_CallFunctionObjArgs(PyObject *callable, ..., NULL)
345
-
346
-
Call a callable Python object *callable*, with a variable number of
347
-
:c:type:`PyObject\*` arguments. The arguments are provided as a variable number
348
-
of parameters followed by ``NULL``.
349
-
350
-
Return the result of the call on success, or raise an exception and return
351
-
``NULL`` on failure.
352
-
353
-
This is the equivalent of the Python expression:
354
-
``callable(arg1, arg2, ...)``.
355
-
356
-
357
-
.. c:function:: PyObject* PyObject_CallMethodObjArgs(PyObject *obj, PyObject *name, ..., NULL)
358
-
359
-
Calls a method of the Python object *obj*, where the name of the method is given as a
360
-
Python string object in *name*. It is called with a variable number of
361
-
:c:type:`PyObject\*` arguments. The arguments are provided as a variable number
362
-
of parameters followed by ``NULL``.
363
-
364
-
Return the result of the call on success, or raise an exception and return
365
-
``NULL`` on failure.
366
-
367
-
368
-
.. c:function:: PyObject* _PyObject_CallMethodNoArgs(PyObject *obj, PyObject *name)
369
-
370
-
Call a method of the Python object *obj* without arguments,
371
-
where the name of the method is given as a Python string object in *name*.
372
-
373
-
Return the result of the call on success, or raise an exception and return
374
-
``NULL`` on failure.
375
-
376
-
.. versionadded:: 3.9
377
-
378
-
379
-
.. c:function:: PyObject* _PyObject_CallMethodOneArg(PyObject *obj, PyObject *name, PyObject *arg)
380
-
381
-
Call a method of the Python object *obj* with a single positional argument
382
-
*arg*, where the name of the method is given as a Python string object in
383
-
*name*.
384
-
385
-
Return the result of the call on success, or raise an exception and return
386
-
``NULL`` on failure.
387
-
388
-
.. versionadded:: 3.9
389
-
390
-
391
-
.. c:function:: PyObject* _PyObject_Vectorcall(PyObject *callable, PyObject *const *args, size_t nargsf, PyObject *kwnames)
392
-
393
-
Call a callable Python object *callable*, using
394
-
:c:data:`vectorcall <PyTypeObject.tp_vectorcall_offset>` if possible.
395
-
396
-
*args* is a C array with the positional arguments.
397
-
398
-
*nargsf* is the number of positional arguments plus optionally the flag
399
-
:const:`PY_VECTORCALL_ARGUMENTS_OFFSET` (see below).
400
-
To get actual number of arguments, use
401
-
:c:func:`PyVectorcall_NARGS(nargsf) <PyVectorcall_NARGS>`.
402
-
403
-
*kwnames* can be either ``NULL`` (no keyword arguments) or a tuple of keyword
404
-
names, which must be strings. In the latter case, the values of the keyword
405
-
arguments are stored in *args* after the positional arguments.
406
-
The number of keyword arguments does not influence *nargsf*.
407
-
408
-
*kwnames* must contain only objects of type ``str`` (not a subclass),
409
-
and all keys must be unique.
410
-
411
-
Return the result of the call on success, or raise an exception and return
412
-
``NULL`` on failure.
413
-
414
-
This uses the vectorcall protocol if the callable supports it;
415
-
otherwise, the arguments are converted to use
416
-
:c:member:`~PyTypeObject.tp_call`.
417
-
418
-
.. note::
419
-
420
-
This function is provisional and expected to become public in Python 3.9,
421
-
with a different name and, possibly, changed semantics.
422
-
If you use the function, plan for updating your code for Python 3.9.
423
-
424
-
.. versionadded:: 3.8
425
-
426
-
.. c:var:: PY_VECTORCALL_ARGUMENTS_OFFSET
427
-
428
-
If set in a vectorcall *nargsf* argument, the callee is allowed to
429
-
temporarily change ``args[-1]``. In other words, *args* points to
430
-
argument 1 (not 0) in the allocated vector.
431
-
The callee must restore the value of ``args[-1]`` before returning.
432
-
433
-
For :c:func:`_PyObject_VectorcallMethod`, this flag means instead that
434
-
``args[0]`` may be changed.
435
-
436
-
Whenever they can do so cheaply (without additional allocation), callers
437
-
are encouraged to use :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`.
438
-
Doing so will allow callables such as bound methods to make their onward
439
-
calls (which include a prepended *self* argument) cheaply.
440
-
441
-
.. versionadded:: 3.8
442
-
443
-
.. c:function:: Py_ssize_t PyVectorcall_NARGS(size_t nargsf)
444
-
445
-
Given a vectorcall *nargsf* argument, return the actual number of
446
-
arguments.
447
-
Currently equivalent to ``nargsf & ~PY_VECTORCALL_ARGUMENTS_OFFSET``.
448
-
449
-
.. versionadded:: 3.8
450
-
451
-
.. c:function:: PyObject* _PyObject_FastCallDict(PyObject *callable, PyObject *const *args, size_t nargsf, PyObject *kwdict)
452
-
453
-
Same as :c:func:`_PyObject_Vectorcall` except that the keyword arguments
454
-
are passed as a dictionary in *kwdict*. This may be ``NULL`` if there
455
-
are no keyword arguments.
456
-
457
-
For callables supporting :c:data:`vectorcall <PyTypeObject.tp_vectorcall_offset>`,
458
-
the arguments are internally converted to the vectorcall convention.
459
-
Therefore, this function adds some overhead compared to
460
-
:c:func:`_PyObject_Vectorcall`.
461
-
It should only be used if the caller already has a dictionary ready to use.
462
-
463
-
.. note::
464
-
465
-
This function is provisional and expected to become public in Python 3.9,
466
-
with a different name and, possibly, changed semantics.
467
-
If you use the function, plan for updating your code for Python 3.9.
468
-
469
-
.. versionadded:: 3.8
470
-
471
-
.. c:function:: PyObject* _PyObject_VectorcallMethod(PyObject *name, PyObject *const *args, size_t nargsf, PyObject *kwnames)
472
-
473
-
Call a method using the vectorcall calling convention. The name of the method
474
-
is given as Python string *name*. The object whose method is called is
475
-
*args[0]* and the *args* array starting at *args[1]* represents the arguments
476
-
of the call. There must be at least one positional argument.
477
-
*nargsf* is the number of positional arguments including *args[0]*,
478
-
plus :const:`PY_VECTORCALL_ARGUMENTS_OFFSET` if the value of ``args[0]`` may
479
-
temporarily be changed. Keyword arguments can be passed just like in
480
-
:c:func:`_PyObject_Vectorcall`.
481
-
482
-
If the object has the :const:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature,
483
-
this will actually call the unbound method object with the full
484
-
*args* vector as arguments.
485
-
486
-
Return the result of the call on success, or raise an exception and return
487
-
``NULL`` on failure.
488
-
489
-
.. versionadded:: 3.9
490
-
491
251
.. c:function:: Py_hash_t PyObject_Hash(PyObject *o)
492
252
493
253
.. index:: builtin: hash
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4