Python 3.20 ਵਿੱਚ ਹਟਾਇਆ ਜਾਣਾ ਬਾਕੀ

  • struct.Struct ਦੀ __new__() ਵਿਧੀ ਨੂੰ format ਆਰਗੂਮੈਂਟ ਦੇ ਬਿਨਾਂ ਕਾਲ ਕਰਨਾ ਡਿਪ੍ਰੀਕੇਟ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ Python 3.20 ਵਿੱਚ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। initialized Struct ਆਬਜੈਕਟਾਂ 'ਤੇ __init__() ਵਿਧੀ ਨੂੰ ਕਾਲ ਕਰਨਾ ਡਿਪ੍ਰੀਕੇਟ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ Python 3.20 ਵਿੱਚ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।

    (ਸੇਰਗੇ ਬੀ ਕਿਰਪਿਚੇਵ ਅਤੇ ਸੇਰਹੀ ਸਟੋਰਚਾਕਾ ਵੱਲੋਂ gh-143715 ਵਿੱਚ ਯੋਗਦਾਨ ਪਾਇਆ ਗਿਆ।)

  • __version__, version ਅਤੇ VERSION ਗੁਣ ਇਨ੍ਹਾਂ ਸਟੈਂਡਰਡ ਲਾਇਬ੍ਰੇਰੀ ਮੋਡਿਊਲਾਂ ਵਿੱਚ ਬੇਕਾਰ ਕਰ ਦਿੱਤੇ ਗਏ ਹਨ ਅਤੇ Python 3.20 ਵਿੱਚ ਹਟਾ ਦਿੱਤੇ ਜਾਣਗੇ। ਇਸ ਦੀ ਥਾਂ sys.version_info ਵਰਤੋ।

    (ਹਿਊਗੋ ਵੈਨ ਕੇਮੇਨਾਡੇ ਅਤੇ ਸਟੈਨ ਉਲਬ੍ਰਿਚ ਦੁਆਰਾ ਯੋਗਦਾਨ ਪਾਇਆ ਗਿਆ, gh-76007 ਵਿੱਚ।)

  • PEP 829 ਵੱਲੋਂ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤੀਆਂ ਗਈਆਂ ਡਿਪ੍ਰੀਕੇਸ਼ਨਾਂ:

    • name.pth ਫਾਈਲਾਂ ਵਿੱਚ ਮਿਲਣ ਵਾਲੀਆਂ import ਲਾਈਨਾਂ ਲਈ ਚੇਤਾਵਨੀਆਂ ਜਾਰੀ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।

    • name.pth ਫਾਈਲਾਂ ਹੁਣ ਡਿਫਾਲਟ ਤੌਰ 'ਤੇ ਲੋਕੇਲ ਇੰਕੋਡਿੰਗ ਵਿੱਚ ਡੀਕੋਡ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ। ਉਹਨਾਂ ਨੂੰ ਜ਼ਰੂਰ utf-8-sig ਵਿੱਚ ਇੰਕੋਡ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।

    (ਬੈਰੀ ਵਾਰਸਾ ਦੁਆਰਾ ਯੋਗਦਾਨ, gh-148641 ।)

  • ast:

    • abstract AST ਨੋਡਾਂ (ਜਿਵੇਂ ਕਿ ast.AST ਜਾਂ ast.expr) ਦੀਆਂ ਇੰਸਟੈਂਸਾਂ ਬਣਾਉਣਾ ਡਿਪ੍ਰੀਕੇਟ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ Python 3.20 ਵਿੱਚ ਇਹ ਇੱਕ ਗਲਤੀ ਦਿਖਾਏਗਾ।

  • typing:

    • isinstance() ਅਤੇ issubclass() ਨੂੰ ਕਾਲ ਕਰਨਾ ਗੈਰ-ਸਿਫਾਰਸ਼ੀ ਹੈ ਜਦੋਂ ਇਹ ਉਹਨਾਂ ਪ੍ਰੋਟੋਕੋਲ ਕਲਾਸਾਂ 'ਤੇ ਚੈੱਕ ਕਰਦੇ ਹਨ ਜੋ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ runtime_checkable() ਨਾਲ ਸਜਾਈਆਂ ਨਹੀਂ ਗਈਆਂ ਪਰ ਜੋ ਕਿਸੇ ਰਨਟਾਈਮ-ਚੈੱਕਯੋਗ ਪ੍ਰੋਟੋਕੋਲ ਕਲਾਸ ਤੋਂ ਵਿਰਾਸਤ ਕਰਦੀਆਂ ਹਨ। ਇਹ Python 3.20 ਵਿੱਚ TypeError ਉਠਾਏਗਾ।

      (ਬਾਰਟੋਜ਼ ਸਲਾਵੇਕੀ ਵੱਲੋਂ ਯੋਗਦਾਨ, gh-132604)