en.wikipedia.org/wiki/Python_(programming_language)
4 corrections found
Python 2.0 was released on 16 October 2000, featuring many new features such as list comprehensions, cycle-detecting garbage collection, reference counting, and Unicode support.
Python 2.0 added cycle-detecting garbage collection and Unicode support, but not reference counting. Python already used reference counting before 2.0.
Full reasoning
Official Python documentation for What's New in Python 2.0 describes the release's new features as including Unicode, list comprehensions, and garbage collection of cycles. In that same document, Python's implementation is described as already using reference counting: "The C implementation of Python uses reference counting to implement garbage collection." In other words, Python 2.0 did not introduce reference counting; it introduced a cycle detector to supplement the existing reference-counting scheme.
1 source
- What's New in Python 2.0 - Python 3.14.5 documentation
The largest new feature in Python 2.0 is a new fundamental data type: Unicode strings. ... List Comprehensions ... Garbage Collection of Cycles ... The C implementation of Python uses reference counting to implement garbage collection.
Each element of a slice is a shallow copy.
Slicing makes a shallow copy of the list itself, not shallow copies of each element. The elements in the new list are references to the same underlying objects.
Full reasoning
The Python standard library documentation explains that a shallow copy creates a new compound object and then inserts references to the objects found in the original. It also gives copied_list = original_list[:] as the standard way to make a shallow copy of a list. So the slice operation copies the container (the list), while its elements are still references to the same objects; Python does not make a separate shallow copy of each element in the slice.
1 source
- copy - Shallow and deep copy operations - Python 3.14.5 documentation
A shallow copy constructs a new compound object and then (to the extent possible) inserts references into it to the objects found in the original. ... Shallow copies of dictionaries can be made using dict.copy(), and of lists by assigning a slice of the entire list, for example, copied_list = original_list[:]
Python uses dynamic typing and a combination of reference counting and a cycle-detecting garbage collector for memory management.
Reference counting plus cyclic GC is a CPython implementation detail, not a property of Python in general. Other Python implementations use different memory-management strategies.
Full reasoning
The Python language reference explicitly labels reference-counting garbage collection as a CPython implementation detail. It states that CPython currently uses reference counting with delayed detection of cyclic garbage, and then immediately notes that other implementations act differently. So presenting this as something "Python uses" in general is inaccurate; it is true for CPython, but not for Python as a language across implementations such as Jython or IronPython.
1 source
- 3. Data model - Python 3.14.5 documentation
CPython implementation detail: CPython currently uses a reference-counting scheme with (optional) delayed detection of cyclically linked garbage ... Other implementations act differently and CPython may change.
Releases receive two years of full support followed by three years of security support.
That support timeline is only fully true for Python 3.13 and later. Versions before 3.13 got 18 months of bugfix support, not two full years.
Full reasoning
The Python Developer's Guide states that after a release reaches the security phase, this happens after two years, but only after 18 months for versions before 3.13. That means the blanket statement is wrong for releases such as Python 3.10, 3.11, and 3.12, which did not receive two full years of bugfix/full support before entering security-only mode.
1 source
- Status of Python versions
security: After two years (18 months for versions before 3.13), only security fixes are accepted and no more binaries are released.