ਸੈਂਟੀਨਲ ਆਬਜੈਕਟ

PyTypeObject PySentinel_Type

PyTypeObject ਦਾ ਇਹ ਇੰਸਟੈਂਸ Python ਦੀ sentinel ਕਿਸਮ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਇਹ sentinel ਵਾਲਾ ਹੀ ਆਬਜੈਕਟ ਹੈ।

Added in version 3.15.

int PySentinel_Check(PyObject *o)

ਜੇ o ਇੱਕ sentinel ਆਬਜੈਕਟ ਜਾਂ ਇਸ ਦੀ ਉਪ-ਕਿਸਮ ਹੈ ਤਾਂ true ਵਾਪਸ ਕਰੋ। ਮੌਜੂਦਾ ਸਮੇਂ sentinel ਕਿਸਮ ਉਪ-ਕਿਸਮਾਂ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਦਿੰਦੀ, ਇਸ ਲਈ ਇਹ ਜਾਂਚ ਸਟੀਕ ਹੈ। Python ਦੇ ਭਵਿੱਖ ਦੇ ਸੰਸਕਰਣ ਉਪ-ਕਿਸਮਾਂ ਦੀ ਇਜਾਜ਼ਤ ਦੇ ਸਕਦੇ ਹਨ। ਇਹ ਫੰਕਸ਼ਨ ਹਮੇਸ਼ਾਂ ਸਫਲ ਹੁੰਦਾ ਹੈ।

Added in version 3.15.

int PySentinel_CheckExact(PyObject *o)

ਜੇ o ਇੱਕ sentinel ਆਬਜੈਕਟ ਹੈ, ਪਰ ਇਸ ਦੀ ਉਪ-ਕਿਸਮ ਨਹੀਂ ਹੈ, ਤਾਂ true ਵਾਪਸ ਕਰੋ। ਮੌਜੂਦਾ ਸਮੇਂ sentinel ਕਿਸਮ ਉਪ-ਕਿਸਮਾਂ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਦਿੰਦੀ। Python ਦੇ ਭਵਿੱਖ ਦੇ ਸੰਸਕਰਣ ਉਪ-ਕਿਸਮਾਂ ਦੀ ਇਜਾਜ਼ਤ ਦੇ ਸਕਦੇ ਹਨ। ਇਹ ਫੰਕਸ਼ਨ ਹਮੇਸ਼ਾਂ ਸਫਲ ਹੁੰਦਾ ਹੈ।

Added in version 3.15.

PyObject *PySentinel_New(const char *name, const char *module_name, const char *repr)
Return value: New reference.

ਇੱਕ ਨਵਾਂ sentinel ਆਬਜੈਕਟ ਬਣਾਓ ਅਤੇ ਵਾਪਸ ਕਰੋ, ਜਿਸ ਵਿੱਚ __name__ ਨੂੰ name ਅਤੇ __module__ ਨੂੰ module_name 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੋਵੇ। name NULL ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ। ਜੇ module_name NULL ਹੈ, ਤਾਂ __module__ ਨੂੰ None 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਜੇ repr NULL ਹੈ, ਤਾਂ repr() __name__ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਅਸਫਲ ਹੋਣ 'ਤੇ ਇੱਕ ਅਪਵਾਦ ਸੈੱਟ ਕਰਕੇ NULL ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

Pickling ਦੇ ਕੰਮ ਕਰਨ ਲਈ, module_name ਇੱਕ import ਕੀਤੇ ਜਾ ਸਕਣ ਵਾਲੇ ਮੋਡੀਊਲ ਦਾ ਨਾਮ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਸੈਂਟੀਨਲ ਉਸ ਮੋਡੀਊਲ ਵਿੱਚ name ਨਾਲ ਮਿਲਦੇ ਮਾਰਗ ਦੇ ਅਧੀਨ ਪਹੁੰਚਯੋਗ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। Pickle, module_name ਵਿੱਚ name ਨੂੰ ਇੱਕ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਦੇ ਨਾਮ ਵਜੋਂ ਮੰਨਦਾ ਹੈ (ਵੇਖੋ object.__reduce__())।

Added in version 3.15.