Python 3.9.5 軟體資訊交流 Mac

winXmac軟體社群 Mac 開發工具 Python Software Foundation 開源軟體 Rate 80

Python for Mac,軟體教學,軟體下載,軟體社群,Windows軟體,Mac軟體

Python 3.9.5 Mac


Python for Mac 是一個動態的面向對象的編程語言,可以用於多種軟件開發。它提供了與其他語言和工具集成的強大支持,附帶了大量的標準庫,並且可以在幾天內學到。很多 Python 程序員都報告大幅提高生產力,並且覺得語言鼓勵開發更高質量,更易維護的代碼。

Python 運行在 Windows,Linux / Unix,Mac OS X,OS / 2,Amiga,Palm 手持設備和諾基亞手機上。 Python 也被移植到 Java 和.NET 虛擬機上。 Python 是在 OSI 認可的開放源代碼許可下發布的,甚至可以用於商業產品.

它的一些關鍵區別特徵包括:非常清晰,可讀的語法強大的內省功能直觀的面向對象程序代碼的自然表達完全模塊化,支持分層程序包基於異常的錯誤處理非常高級別的動態數據類型針對幾乎所有任務的廣泛標準庫和第三方模塊使用 C,C ++(或 Java for Jython 或 IronPython 的.NET 語言)輕鬆編寫的擴展和模塊可嵌入應用程序作為腳本界面也可以:下載 Python for Windows

檔案版本 Python 3.9.5
檔案名稱 python-3.9.5-macosx10.9.pkg
檔案大小
系統 Mac OS X 10.6 or later
軟體類型 開源軟體
作者 Python Software Foundation
更新日期 http://www.python.org/
軟體類型 2021-05-04
更新日誌

What's new in this version:

Security:
- Creating a sqlite3.Connection object now also produces a sqlite3.connect auditing event. Previously this event was only produced by sqlite3.connect() calls. Patch by Erlend E. Aasland.
- The presence of newline or tab characters in parts of a URL could allow some forms of attacks
- Following the controlling specification for URLs defined by WHATWG urllib.parse() now removes ASCII newlines and tabs from URLs, preventing such attacks
- Ensures interpreter-level audit hooks receive the cpython.PyInterpreterState_New event when called through the _xxsubinterpreters module
- ipaddress module no longer accepts any leading zeros in IPv4 address strings. Leading zeros are ambiguous and interpreted as octal notation by some libraries. For example the legacy function socket.inet_aton() treats leading zeros as octal notatation. glibc implementation of modern inet_pton() does not accept any leading zeros. For a while the ipaddress module used to accept ambiguous leading zeros.
- Fix Regular Expression Denial of Service (ReDoS) vulnerability in urllib.request.AbstractBasicAuthHandler. The ReDoS-vulnerable regex has quadratic worst-case complexity and it allows cause a denial of service when identifying crafted invalid RFCs. This ReDoS issue is on the client side and needs remote attackers to control the HTTP server.
- Audit hooks are now fired for frame.f_code, traceback.tb_frame, and generator code/frame attribute access

Core and Builtins:
- Importlib now resolves relative paths when creating module spec objects from file locations
- Fix bytearray repetition incorrectly copying data from the start of the buffer, even if the data is offset within the buffer (e.g. after reassigning a slice at the start of the bytearray to a shorter byte string).

Library:
- Update bundled pip to 21.1.1
- Fixed the turtle module working with non-default root window
- Update bundled pip to 21.1 and setuptools to 56.0.0
- OpenSSL 3.0.0: load_verify_locations() now returns a consistent error message when cadata contains no valid certificate
- urllib can now convert Windows paths with ? prefixes into URL paths
- platform.win32_ver derives the windows version from sys.getwindowsversion().platform_version which in turn derives the version from kernel32.dll (which can be of a different version than Windows itself). Therefore change the platform.win32_ver to determine the version using the platform module’s _syscmd_ver private function to return an accurate version.
- [Enum] ensure exceptions raised in _missing__ are released
- OpenSSL 3.0.0: define OPENSSL_API_COMPAT 1.1.1 to suppress deprecation warnings. Python requires OpenSSL 1.1.1 APIs
- Add ssl.OP_IGNORE_UNEXPECTED_EOF constants (OpenSSL 3.0.0)
- OpenSSL 3.0.0: Don’t call the password callback function a second time when first call has signaled an error condition
- The header files for ssl error codes are now OpenSSL version-specific. Exceptions will now show correct reason and library codes. The make_ssl_data.py script has been rewritten to use OpenSSL’s text file with error codes.
- tkinter dialog windows are now recognized as dialogs by window managers on macOS and X Window
- turtle.textinput() and turtle.numinput() create now a transient window working on behalf of the canvas window
- Fix problem with hostname_checks_common_name. OpenSSL does not copy hostflags from struct SSL_CTX to struct SSL
- Allow bytes separator argument in urllib.parse.parse_qs and urllib.parse.parse_qsl when parsing str query strings. Previously, this raised a TypeError.
- Fixed processing of a dataclass that inherits from a frozen dataclass with no fields. It is now correctly detected as an error
- Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin
- Fix dataclasses with InitVars and replace(). Patch by Claudiu Popa
- Fix a regression in the handling of ctypes’ ctypes.c_wchar_p type: embedded null characters would cause a ValueError to be raised. Patch by Zackery Spytz

Documentation:
- The documentation on the PyContextVar C-API was clarified
- Update dataclasses documentation to express that FrozenInstanceError is derived from AttributeError
- Update documentation to reflect that unparenthesized lambda expressions can no longer be the expression part in an if clause in comprehensions and generator expressions since Python 3.9.
- Fixing the example code in Doc/extending/extending.rst to declare and initialize the pmodule variable to be of the right type

Tests:
- Fix test_logging.test_namer_rotator_inheritance() on Windows: use os.replace() rather than os.rename(). Patch by Victor Stinner
- Fix a race condition in the SMTP test of test_logging. Don’t close a file descriptor (socket) from a different thread while asyncore.loop() is polling the file descriptor. Patch by Victor Stinner.
- Tests multiple OpenSSL versions on GitHub Actions. Use ccache to speed up testing
- OpenSSL 3.0.0: Disable testing of legacy protocols TLS 1.0 and 1.1. Tests are failing with TLSV1_ALERT_INTERNAL_ERROR

Windows:
- Avoid raising errors from pathlib.Path.exists() when passed an invalid filename
- Fixed os.stat() failing on inaccessible directories with a trailing slash, rather than falling back to the parent directory’s metadata. This implicitly affected os.path.exists() and os.path.isdir().
- Fixed decoding of host names in socket.gethostbyaddr() and socket.gethostbyname_ex()
- Updated pegen regeneration script on Windows to find and use Python 3.8 or higher. Prior to this, pegen regeneration already required 3.8 or higher, but the script may have used lower versions of Python
- Actually updates Windows release to OpenSSL 1.1.1k. Earlier releases were mislabelled and actually included 1.1.1i again
- Upgrade Windows installer to use SQLite 3.35.5

IDLE:
- IDLE dialog windows are now recognized as dialogs by window managers on macOS and X Window

檔案下載 檔案下載