Wir stehen zur Ukraine, um die Menschen in Sicherheit zu bringen. Mitmachen
DE
Wenn Sie über Links auf unserer Website einkaufen, erhalten wir möglicherweise eine Affiliate-Provision

Python für Mac

Objektorientierte Programmiersprache.

4.5
Basierend auf 11 Benutzerbewertungen

Python Überblick

Python ist eine äußerst vielseitige, dynamische, interpretierte und universell einsetzbare Sprache. Sie gehört heute zu den beliebtesten und gefragtesten Sprachen. Python unterstützt verschiedene Programmiertechniken, darunter prozedurale, objektorientierte und funktionale Programmierung.

Funktionen:
  • Python ist eine hervorragende Wahl für Entwickler, die gerade erst anfangen.
  • Das Programmieren mit Python auf dem Mac ist einfach. Da es auf einer Hochsprache basiert, müssen Sie sich weder mit der Systemarchitektur auskennen noch den Speicher verwalten.
  • Python für Mac ist entwicklerfreundlich. Es verwendet eine elegante und einfache Syntax, die leicht zu programmieren und leicht zu lesen ist.
  • Sie können auf Ihrem Macbook reibungslos programmieren, dank des interaktiven Modus von Python, der es Ihnen ermöglicht, kurze Code-Schnipsel einfach zu testen und direkt mit dem Interpreter zu interagieren, um Ihre Programme zu schreiben.
  • Python ist eine dynamisch typisierte Sprache. Das bedeutet, dass Sie den Typ einer Variablen nicht deklarieren müssen, da dieser zur Laufzeit und nicht im Voraus festgelegt wird.

Was ist neu in Version 3.14.6

Sicherheit
  • gh-151159: Aktualisieren Sie die Android- und iOS-Installer, um OpenSSL 3.5.7 zu verwenden.
  • gh-150599: Beheben Sie einen möglichen Stack-Pufferüberlauf in bz2, wenn ein bz2.BZ2Decompressor nach einem Dekompressionsfehler wiederverwendet wird. Der Dekompressor wird jetzt unbrauchbar, nachdem libbz2 einen Fehler meldet.
  • gh-149835: shutil.move() löst jetzt Symlinks über os.path.realpath() auf, wenn überprüft wird, ob das Ziel im Quellverzeichnis liegt, um einen Symlink-basierten Umgehungsschutz zu verhindern.
  • gh-149698: Aktualisieren Sie die gebündelte libexpat auf Version 2.8.1 für die Behebung von CVE 2026-45186.
  • gh-87451: Die nicht dokumentierte ftpcp-Funktion des ftplib-Moduls vertraut standardmäßig nicht mehr dem von dem Quellserver als Antwort auf den PASV-Befehl zurückgegebenen IPv4-Adresswert, wodurch die Behebung von CVE-2021-4189 abgeschlossen wird. Wie bei ftplib.FTP kann das frühere Verhalten wieder aktiviert werden, indem das Attribut trust_server_pasv_ipv4_address auf der Quellinstanz von ftplib.FTP auf True gesetzt wird. Vielen Dank an Qi Deng von Aurascape AI für den Bericht.
  • gh-149486: tarfile.data_filter() validiert jetzt Linkziele mit dem gleichen normalisierten Wert, der auf die Festplatte geschrieben wird, entfernt nachfolgende Trennzeichen vom Mitgliedsnamen, wenn ein Verzeichnis eines Symlinks aufgelöst wird, und lehnt Linkmitglieder ab, die das Zielverzeichnis selbst ersetzen würden. Dies schließt mehrere Umgehungen der Datenextraktionsfilter durch Pfadtraversierung aus.
  • gh-149079: Beheben Sie einen potenziellen Denial-of-Service in unicodedata.normalize(). Der kanonische Sortierschritt der Unicode-Normalisierung verwendete einen quadratischen Einfügesortieralgorithmus zum Neusortieren von Kombinationszeichen, der mit manipulierten Eingaben, die viele Kombinationszeichen in nicht-kanonischer Reihenfolge enthielten, ausgenutzt werden konnte. Ersetzt durch einen linearen Zählalgorithmus für lange Läufe.
  • gh-149018: Verbesserter Schutz gegen XML-Hash-Flooding-Angriffe in xml.parsers.expat und xml.etree.ElementTree, wenn Python mit libExpat 2.8.0 oder höher kompiliert wird.
Kern und Builtins
  • gh-151112: Beheben Sie einen Absturz im Compiler, der auftreten kann, wenn der Speicher ausgeht.
  • gh-151126: Beheben Sie einen Absturz, wenn auf einem Gerät kein Speicher mehr vorhanden ist, was in folgenden Fällen auftrat:
    • Codekompilierung - _winapi.CreateProcess()
  • Jetzt erzeugen diese Stellen ordnungsgemäße MemoryError-Fehler.
  • gh-150700: Beheben Sie einen SystemError beim Kompilieren einer Klassenbereichsverständnis, das eine Lambda enthält, die auf __class__, __classdict__ oder __conditional_annotations__ verweist. Patch von Bartosz Sławecki.
  • gh-150633: Beheben Sie den gefrorenen Importeur, der Modulnamen mit eingebetteten Nullbytes akzeptiert, was dazu führte, dass er den sys.modules-Cache umging und doppelte Modulobjekte erstellte.
  • gh-148613: Beheben Sie einen Datenwettlauf im freithreaded Build zwischen gc.set_threshold() und der Planung der Müllabfuhr während der Objektzuweisung.
  • gh-149156: Beheben Sie einen intermittierenden Absturz nach os.fork(), wenn die Profilierung des Perf-Trampolins aktiviert ist und das Kind über Trampolinfelder zurückkehrt, die vom übergeordneten Prozess geerbt wurden.
  • gh-149449: Beheben Sie einen Use-after-free-Absturz, wenn das unicodedata-Modul aus sys.modules entfernt und zwischen Aufrufen, die \N{...} Escapes decodieren oder den namereplace Codec-Fehlerbehandler verwenden, von der Müllabfuhr gesammelt wurde.
  • gh-150207: Beheben Sie einen Absturz, wenn eine Speicherzuweisung während der Initialisierung des Tokenizers fehlschlägt. Ein ordnungsgemäßer MemoryError wird jetzt stattdessen ausgelöst.
  • gh-150107: asyncio: sendfile() und sock_sendfile() Ereignisschleifenmethoden rufen jetzt file.seek(offset) auf, wenn die Datei eine seek()-Methode hat, auch wenn der Offset 0 (Standardwert) ist.
  • gh-150146: Beheben Sie einen Absturz bei einer komplexen Typvariablenersetzung.
  • from typing import TypeVar; memoryview[TypeVar("")][*typing.Mapping[..., ...]] schlug fehl, da die NULL-Prüfung beim Aufruf der _unpack_args C-Funktion fehlte.
  • gh-149590: Beheben Sie einen Absturz, wenn faulthandler mehr als einmal importiert wird.
  • gh-149816: Beheben Sie einen Wettlauf in _PyBytes_FromList im freithreaded Modus.
  • gh-149816: Beheben Sie einen Wettlauf in memoryview mit freithreading.
  • gh-149805: Beheben Sie einen SystemError beim Kompilieren einer __classdict__ Klassenannotation. Gefunden von OSS-Fuzz in #512907042.
  • gh-149738: sqlite3: Verhindern Sie das Entfernen von row_factory- und text_factory-Attributen einer Verbindung, um einen Absturz bei einer Abfrage zu verhindern.
  • gh-139808: Fügen Sie Zweigschutzmaßnahmen für AArch64 (BTI/PAC) im Assemblercode hinzu, der von -X perf_jit (Linux perf profiler Integration) verwendet wird.
  • gh-148450: Beheben Sie abc.register(), damit es die Typversions-Tags für registrierte Klassen ungültig macht.
Bibliothek
  • gh-151039: Beheben Sie einen Absturz, wenn statische Datetime-Typen das _datetime-Modul überleben.
  • gh-150913: Beheben Sie die Zuweisung von sqlite3.Blob-Slices, um TypeError und IndexError für Typ- und Größeninkongruenzen auszulösen, selbst wenn der Ziel-Slice leer ist.
  • gh-143008: Beheben Sie Wettlaufbedingungen beim erneuten Initialisieren eines io.TextIOWrapper-Objekts.
  • gh-150750: Beheben Sie eine Wettlaufbedingung in collections.deque.index() mit freithreading.
  • gh-150685: Aktualisieren Sie das gebündelte pip auf 26.1.2
  • gh-150406: Beheben Sie einen möglichen Absturz, der während der Initialisierung des Socket-Moduls auftritt, wenn das System keinen Speicher mehr hat auf Plattformen ohne reentrant gethostbyname.
  • gh-150372: readline: Beheben Sie einen potenziellen Absturz während der Tab-Vervollständigung, der durch einen Speichermangel während der Modulinitialisierung verursacht wurde.
  • gh-150157: Beheben Sie einen Absturz in freithreaded Builds, der auftritt, wenn Objekte ohne ein __module__-Attribut nach Namen serialisiert werden, während sys.modules gleichzeitig geändert wird.
  • gh-150175: Beheben Sie eine Wettlaufbedingung in unittest.mock.ThreadingMock, bei der gleichzeitige Aufrufe an call_count und andere Attribute aufgrund eines fehlenden Locks in _increment_mock_call verloren gehen könnten.
  • gh-84353: Bewahren Sie nicht-UTF-8-codierte Dateinamen beim Anhängen an eine zipfile.ZipFile auf. Zuvor konnten nicht-ASCII-Namen, die in einer veralteten Codierung gespeichert waren (ohne das UTF-8-Flag-Bit gesetzt), beschädigt werden, wenn das zentrale Verzeichnis neu geschrieben wurde: sie wurden als cp437 decodiert und dann als UTF-8 neu gespeichert.
  • gh-149816: Beheben Sie eine Wettlaufbedingung in ssl.SSLContext.sni_callback
  • gh-149995: Aktualisieren Sie verschiedene Docstrings in typing.
  • gh-88726: Das E-Mail-Paket verwendet jetzt die standardmäßigen MIME-Zeichensatznamen „gb2312“ und „big5“ anstelle von nicht standardmäßigen Namen „eucgb2312_cn“ und „big5_tw“.
  • gh-149571: Beheben Sie die C-Implementierung von xml.etree.ElementTree.Element.itertext(): Sie gibt keinen Text mehr für Kommentare und Verarbeitungsanweisungen aus.
  • gh-149921: Beheben Sie Referenzlecks in Fehlerpfaden der _interpchannels- und _interpqueues-Erweiterungsmodule.
  • gh-149816: Beheben Sie eine Wettlaufbedingung in _random.Random.__init__ Methode im freithreaded Modus.
  • gh-149801: Fügen Sie IANA-registrierte Namen und Aliase mit führenden Nullen vor der Zahl (wie IBM00858, CP00858, IBM01140, CP01140) für die entsprechenden Codecs hinzu.
  • gh-149701: Beheben Sie einen schlechten Rückgabewert von Lib/venv/bin/activate, wenn das Hashing deaktiviert ist
  • gh-112821: In der REPL könnte die Autovervollständigung beliebigen Code im Getter eines Deskriptors ausführen. Wenn dieser Getter eine Ausnahme auslöste, würde die Autovervollständigung keine Optionen für das gesamte Objekt präsentieren. Die Autovervollständigung funktioniert jetzt wie erwartet für diese Objekte.
  • gh-149489: Beheben Sie die Serialisierung von ElementTree zu HTML. Der Inhalt der Elemente „xmp“, „iframe“, „noembed“, „noframes“ und „plaintext“ wird nicht mehr escaped. Das „plaintext“-Element hat kein schließendes Tag mehr.
  • gh-149231: In tomllib ist die Anzahl der Teile in TOML-Schlüsseln jetzt begrenzt.
  • gh-149046: io: Beheben Sie die Serialisierung von io.StringIO: rufen Sie nicht mehr str(obj) für str-Unterklassen auf. Patch von Thomas Kowalski.
  • gh-148954: Beheben Sie die XML-Injektionsanfälligkeit in xmlrpc.client.dumps(), bei der der Methodennamen vor der Interpolation in den XML-Body nicht escaped wurde.
  • gh-148441: xml.parsers.expat: Verhindern Sie einen Absturz in CharacterDataHandler(), wenn die Größe der Zeichendaten die Puffergröße des Parsers überschreitet.
  • gh-146452: Beheben Sie einen Segfault in pickle, wenn ein Wörterbuch gleichzeitig von einem anderen Thread im freithreaded Build verändert wird.
  • gh-142831: Beheben Sie einen Absturz im json-Modul, bei dem ein Use-after-free auftreten könnte, wenn das zu kodierende Objekt während der Serialisierung geändert wird.
  • gh-90949: Fügen Sie SetBillionLaughsAttackProtectionActivationThreshold() und SetBillionLaughsAttackProtectionMaximumAmplification() zu xmlparser-Objekten hinzu, um Schutzmaßnahmen gegen Billion Laughs-Angriffe zu optimieren. Patch von Bénédikt Tran.
  • gh-134261: zip: Bei reproduzierbaren Builds verwendet ZipFile UTC anstelle der lokalen Zeit, wenn Dateidatenzeiten geschrieben werden, um Unterläufe zu vermeiden.
  • gh-128110: Beheben Sie einen Fehler bei der Analyse von E-Mail-Adressheadern, der zu überflüssigen Leerzeichen im decodierten Text führen könnte, wenn eine moderne E-Mail-Richtlinie verwendet wird. Leerzeichen zwischen benachbarten RFC 2047-kodierten Wörtern werden jetzt ignoriert, gemäß Abschnitt 6.2 (und konsistent mit der bestehenden Analyse von unstrukturierten Headern wie Betreff).
  • gh-107398: Beheben Sie die Ausnahme im Streammodus von tarfile, wenn die Datei mit dem gzip-Extra-Feld verarbeitet wird.
  • gh-123853: Aktualisieren Sie die Tabelle der Windows-Sprachcode-Identifikatoren (LCIDs), die von locale.getdefaultlocale() unter Windows verwendet werden, auf Protokollversion 16.0 (2024-04-23).
  • gh-91099: imaplib.IMAP4.login() löst jetzt Ausnahmen mit str anstelle von Bytes aus. Patch von Florian Best.
Dokumentation
  • gh-150319: Generische eingebaute und Standardbibliothekstypen dokumentieren jetzt die Bedeutung ihrer Typparameter.
  • gh-109503: Beheben Sie die Dokumentation für shutil.move() zur Verwendung von os.rename(), da ein atomarer Move möglicherweise verwendet wird, auch wenn sich die Dateien im selben Dateisystem befinden. Patch von Fang Li
Tests
  • gh-151130: Fügen Sie weitere Tests für PyWeakref_* C API hinzu.
  • gh-149776: Beheben Sie test_socket auf Linux-Kernel 7.1 und neuer: überspringen Sie UDP Lite-Tests, wenn sie nicht unterstützt werden. Patch von Victor Stinner.
Build
  • gh-148294: Korrigierte Verwendung von AC_PATH_TOOL in configure.ac, um einen C++-Compiler im PATH zu finden.
Windows
  • gh-151159: Aktualisierte gebündelte Version von OpenSSL auf 3.5.7.
macOS
  • gh-151159: Aktualisieren Sie den macOS-Installer, um OpenSSL 3.5.7 zu verwenden.
  • gh-150644: Wenn das Systemprotokoll aktiviert ist (mit config.use_system_logger), werden Nachrichten jetzt als öffentlich gekennzeichnet. Dies ermöglicht es dem macOS 26-Systemprotokoll, Nachrichten ohne spezielle Konfiguration anzuzeigen.
  • gh-115119: Aktualisieren Sie den macOS-Installer, um libmpdecimal 4.0.1 zu verwenden.
IDLE
  • bpo-6699: Warnen Sie den Benutzer, wenn eine Datei beim Speichern überschrieben wird.
C API
  • gh-150907: Beheben Sie die Headerdatei dynamic_annotations.h, wenn sie mit C++ und Valgrind erstellt wird: Fügen Sie extern "C++"-Bereich für die C++-Vorlage hinzu. Patch von Victor Stinner.
  • gh-145235: Machen Sie PyDict_AddWatcher(), PyDict_ClearWatcher(), PyDict_Watch() und PyDict_Unwatch() threadsicher im freithreaded Build.
Ältere Python Versionen ansehen

Python für Mac

Kostenlos
Version 3.14.6
Schreiben Sie eine ausführliche Rezension zu Python

Schreiben Sie Ihre Gedanken in unserem klassischen Kommentarfeld

MacUpdate Kommentarrichtlinie. Wir empfehlen ausdrücklich, Kommentare zu hinterlassen – Kommentare mit beleidigenden Wörtern, Mobbing oder persönlichen Angriffen jeglicher Art werden moderiert.
4.5

(6 Rezensionen zu Python)

  • Kommentare

  • Nutzerbewertungen

umaromc
umaromc
Sep 30, 2012
3.30
0.0
Sep 30, 2012
0.0
Version: 3.30
Link is for 32/64-bit Intel Only, OS X 10.6+ 32-bit Intel/PPC Build, OS X 10.3-10.6 http://www.python.org/ftp/python/3.3.0/python-3.3.0-macosx10.5.dmg
Iliketrash
Iliketrash
Mar 20, 2012
3.2.3rc2
0.0
Mar 20, 2012
0.0
Version: 3.2.3rc2
>>> range(3,7) [3, 4, 5, 6] WTF? How stupid can a language get?
SickTeddyBear
SickTeddyBear
Feb 21, 2011
3.2.0
0.0
Feb 21, 2011
0.0
Version: 3.2.0
FYI, there are universal installers for Intel/PPC and 10.3->10.6: http://www.python.org/download/
Trashie
Trashie
Oct 24, 2010
3.1.2
0.0
Oct 24, 2010
0.0
Version: 3.1.2
Indentation thing is not a big deal - how else will the interpreter be able to work. For all the brace lovers maybe they should implement 2 modes I dunno...but once you get into it not having braces all over the place makes for some tidy reading code! I would take this as an overhead to have no braces any day of the week.
Millenniumx
Millenniumx
Apr 3, 2006
2.4.3
0.0
Apr 3, 2006
0.0
Version: 2.4.3
"One of the worst "features" of Python is that indentation is part of the syntax." So, do you indent your code in other languages? Of course you do; it's one of the first things any decent programmer learns to do. Given that, what's the problem? All it does is help keep the code readable.
iAziz
iAziz
Sep 6, 2021
3.9.7
5.0
Sep 6, 2021
5.0
Version: 3.9.7
Rob85
Rob85
Nov 16, 2018
5.0
Nov 16, 2018
5.0
Version: null
Cyzor
Cyzor
Jun 21, 2014
5.0
Jun 21, 2014
5.0
Version: null
Quiiick
Quiiick
Apr 25, 2014
4.0
Apr 25, 2014
4.0
Version: null
Ededed
Ededed
Apr 22, 2014
2.5
Apr 22, 2014
2.5
Version: null
Ingerj
Ingerj
Apr 1, 2014
4.0
Apr 1, 2014
4.0
Version: null
Talking28
Talking28
Jul 12, 2011
4.5
Jul 12, 2011
4.5
Version: null
Pneshati
Pneshati
Dec 17, 2010
5.0
Dec 17, 2010
5.0
Version: null
John-E
John-E
Dec 8, 2010
4.0
Dec 8, 2010
4.0
Version: null
cheeseinspector
cheeseinspector
Dec 8, 2010
5.0
Dec 8, 2010
5.0
Version: null
Guest
Guest
Apr 3, 2005
5.0
Apr 3, 2005
5.0
Version: null