Mã nguồn: lib/__ Tương lai__.py Lib/__future__.py
Mỗi câu trong FeatureName = _Feature(OptionalRelease, MandatoryRelease, CompilerFlag) Trong đó, thông thường, tùy chọn là ít hơn bắt buộc và cả hai đều là 5 lớp có cùng dạng với (PY_MAJOR_VERSION, # the 2 in 2.1.0a3; an int PY_MINOR_VERSION, # the 1; an int PY_MICRO_VERSION, # the 0; an int PY_RELEASE_LEVEL, # "alpha", "beta", "candidate" or "final"; string PY_RELEASE_SERIAL # the 3; an int ) Tùy chọnAlrelease ghi lại bản phát hành đầu tiên trong đó tính năng được chấp nhận. Trong trường hợp bắt buộc chưa xảy ra, bắt buộc dự đoán việc phát hành trong đó tính năng này sẽ trở thành một phần của ngôn ngữ. Các bản ghi bắt buộc khác khi tính năng trở thành một phần của ngôn ngữ; Trong các bản phát hành tại hoặc sau đó, các mô -đun không còn cần một tuyên bố trong tương lai để sử dụng tính năng này trong câu hỏi, nhưng có thể tiếp tục sử dụng nhập khẩu đó. Bắt buộc cũng có thể là Các trường hợp của lớp (PY_MAJOR_VERSION, # the 2 in 2.1.0a3; an int PY_MINOR_VERSION, # the 1; an int PY_MICRO_VERSION, # the 0; an int PY_RELEASE_LEVEL, # "alpha", "beta", "candidate" or "final"; string PY_RELEASE_SERIAL # the 3; an int )0. CompilerFlag là cờ (Bitfield) nên được truyền trong đối số thứ tư cho hàm tích hợp (PY_MAJOR_VERSION, # the 2 in 2.1.0a3; an int PY_MINOR_VERSION, # the 1; an int PY_MICRO_VERSION, # the 0; an int PY_RELEASE_LEVEL, # "alpha", "beta", "candidate" or "final"; string PY_RELEASE_SERIAL # the 3; an int )1 để kích hoạt tính năng trong mã được biên dịch động. Cờ này được lưu trữ trong thuộc tính (PY_MAJOR_VERSION, # the 2 in 2.1.0a3; an int PY_MINOR_VERSION, # the 1; an int PY_MICRO_VERSION, # the 0; an int PY_RELEASE_LEVEL, # "alpha", "beta", "candidate" or "final"; string PY_RELEASE_SERIAL # the 3; an int )2 trên các trường hợp _Feature .Không có mô tả tính năng nào sẽ bị xóa từ
(PY_MAJOR_VERSION, # the 2 in 2.1.0a3; an int PY_MINOR_VERSION, # the 1; an int PY_MICRO_VERSION, # the 0; an int PY_RELEASE_LEVEL, # "alpha", "beta", "candidate" or "final"; string PY_RELEASE_SERIAL # the 3; an int )5 trước đây đã được lên kế hoạch trở thành bắt buộc trong Python 3.10, nhưng Hội đồng lái Python hai lần quyết định trì hoãn sự thay đổi (thông báo cho Python 3.10; thông báo cho Python 3.11). Không có quyết định cuối cùng đã được đưa ra. Xem thêm PEP 563 và PEP 649.PEP 563 and PEP 649. |