ਸੈੱਲ ਆਬਜੈਕਟ

"ਸੈੱਲ" ਆਬਜੈਕਟ ਉਹਨਾਂ ਵੇਰੀਏਬਲਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਦਾ ਹਵਾਲਾ ਕਈ ਸਕੋਪਾਂ ਦੁਆਰਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਹਰ ਅਜਿਹੇ ਵੇਰੀਏਬਲ ਲਈ, ਉਸ ਦਾ ਮੁੱਲ ਸੰਭਾਲਣ ਵਾਸਤੇ ਇੱਕ ਸੈੱਲ ਆਬਜੈਕਟ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ। ਹਰ ਉਸ ਸਟੈਕ ਫ੍ਰੇਮ ਦੇ ਲੋਕਲ ਵੇਰੀਏਬਲ, ਜੋ ਉਸ ਮੁੱਲ ਦਾ ਹਵਾਲਾ ਦਿੰਦੇ ਹਨ, ਬਾਹਰੀ ਸਕੋਪਾਂ ਦੇ ਉਹਨਾਂ ਸੈੱਲਾਂ ਦਾ ਹਵਾਲਾ ਰੱਖਦੇ ਹਨ ਜੋ ਉਸੇ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਜਦੋਂ ਮੁੱਲ ਤੱਕ ਪਹੁੰਚ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਸੈੱਲ ਆਬਜੈਕਟ ਦੀ ਬਜਾਏ ਸੈੱਲ ਵਿੱਚ ਮੌਜੂਦ ਮੁੱਲ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਸੈੱਲ ਆਬਜੈਕਟ ਤੋਂ ਇਸ ਤਰ੍ਹਾਂ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤੇ ਗਏ ਬਾਈਟ-ਕੋਡ ਦਾ ਸਮਰਥਨ ਲੋੜੀਂਦਾ ਹੁੰਦਾ ਹੈ; ਪਹੁੰਚ ਸਮੇਂ ਇਹ ਆਪਣੇ ਆਪ de-reference ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ। ਸੈੱਲ ਆਬਜੈਕਟਾਂ ਦਾ ਹੋਰ ਥਾਵਾਂ 'ਤੇ ਲਾਭਦਾਇਕ ਹੋਣ ਦੀ ਸੰਭਾਵਨਾ ਘੱਟ ਹੈ।

type PyCellObject

ਸੈੱਲ ਆਬਜੈਕਟਾਂ ਲਈ ਵਰਤੀ ਜਾਣ ਵਾਲੀ C ਸੰਰਚਨਾ।

PyTypeObject PyCell_Type

ਸੈੱਲ ਆਬਜੈਕਟਾਂ ਨਾਲ ਸੰਬੰਧਿਤ ਕਿਸਮ ਆਬਜੈਕਟ।

int PyCell_Check(PyObject *ob)

ਜੇ ob ਇੱਕ ਸੈੱਲ ਆਬਜੈਕਟ ਹੈ ਤਾਂ true ਵਾਪਸ ਕਰੋ; ob NULL ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ। ਇਹ ਫੰਕਸ਼ਨ ਹਮੇਸ਼ਾਂ ਸਫਲ ਹੁੰਦਾ ਹੈ।

PyObject *PyCell_New(PyObject *ob)
Return value: New reference.

ob ਮੁੱਲ ਵਾਲਾ ਇੱਕ ਨਵਾਂ ਸੈੱਲ ਆਬਜੈਕਟ ਬਣਾਓ ਅਤੇ ਵਾਪਸ ਕਰੋ। ਇਹ ਪੈਰਾਮੀਟਰ NULL ਵੀ ਹੋ ਸਕਦਾ ਹੈ।

PyObject *PyCell_Get(PyObject *cell)
Return value: New reference.

ਸੈੱਲ cell ਦੀ ਸਮੱਗਰੀ ਵਾਪਸ ਕਰੋ, ਜੋ NULL ਵੀ ਹੋ ਸਕਦੀ ਹੈ। ਜੇ cell ਸੈੱਲ ਆਬਜੈਕਟ ਨਹੀਂ ਹੈ, ਤਾਂ ਇੱਕ ਅਪਵਾਦ ਸੈੱਟ ਕਰਕੇ NULL ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

PyObject *PyCell_GET(PyObject *cell)
Return value: Borrowed reference.

ਸੈੱਲ cell ਦੀ ਸਮੱਗਰੀ ਵਾਪਸ ਕਰੋ, ਪਰ ਇਹ ਜਾਂਚ ਕੀਤੇ ਬਿਨਾਂ ਕਿ cell ਗੈਰ-NULL ਹੈ ਅਤੇ ਇੱਕ ਸੈੱਲ ਆਬਜੈਕਟ ਹੈ।

int PyCell_Set(PyObject *cell, PyObject *value)

ਸੈੱਲ ਆਬਜੈਕਟ cell ਦੀ ਸਮੱਗਰੀ ਨੂੰ value 'ਤੇ ਸੈੱਟ ਕਰੋ। ਇਸ ਨਾਲ ਸੈੱਲ ਦੀ ਮੌਜੂਦਾ ਸਮੱਗਰੀ ਦੇ ਕਿਸੇ ਵੀ ਹਵਾਲੇ ਨੂੰ ਮੁਕਤ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। value NULL ਵੀ ਹੋ ਸਕਦਾ ਹੈ। cell ਗੈਰ-NULL ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।

ਸਫਲ ਹੋਣ 'ਤੇ 0 ਵਾਪਸ ਕਰੋ। ਜੇ cell ਸੈੱਲ ਆਬਜੈਕਟ ਨਹੀਂ ਹੈ, ਤਾਂ ਇੱਕ ਅਪਵਾਦ ਸੈੱਟ ਕਰੋ ਅਤੇ -1 ਵਾਪਸ ਕਰੋ।

void PyCell_SET(PyObject *cell, PyObject *value)

ਸੈੱਲ ਆਬਜੈਕਟ cell ਦਾ ਮੁੱਲ value 'ਤੇ ਸੈੱਟ ਕਰਦਾ ਹੈ। ਹਵਾਲਾ ਗਿਣਤੀਆਂ ਵਿੱਚ ਕੋਈ ਤਬਦੀਲੀ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ ਅਤੇ ਸੁਰੱਖਿਆ ਲਈ ਕੋਈ ਜਾਂਚ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ; cell ਗੈਰ-NULL ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਇੱਕ ਸੈੱਲ ਆਬਜੈਕਟ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ।