Python
Python
3.8.0

4.3

Python free download for Mac

Python

3.8.0
15 October 2019

Object-oriented programming language.

Overview

Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme, or Java.

Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. It is also usable as an extension language for applications that need a programmable interface.

What's new in Python

Version 3.8.0:
Core and Builtins:
  • Fixed a bug where the scope of named expressions was not being resolved correctly in the presence of the global keyword. Patch by Pablo Galindo
  • When cyclic garbage collection (gc) runs finalizers that resurrect unreachable objects, the current gc run ends, without collecting any cyclic trash. However, the statistics reported by collect() and get_stats() claimed that all cyclic trash found was collected, and that the resurrected objects were collected. Changed the stats to report that none were collected
Library:
  • Revert GH-15522, which introduces a regression in mimetypes.guess_type() due to improper handling of filenames as urls
  • Fix __repr__ method for dataclasses.InitVar to support typing objects, patch by Samuel Colvin
  • Add missing stat.S_IFDOOR, stat.S_IFPORT, stat.S_IFWHT, stat.S_ISDOOR(), stat.S_ISPORT(), and stat.S_ISWHT() values to the Python implementation of stat
  • Nested subclasses of typing.NamedTuple are now pickleable
  • Prevent KeyError thrown by _encoded_words.decode() when given an encoded-word with invalid content-type encoding from propagating all the way to email.message.get()
  • Add smtplib.SMTPNotSupportedError to the smtplib exported names
  • OS native encoding is now used for converting between Python strings and Tcl objects. This allows to display, copy and paste to clipboard emoji and other non-BMP characters. Converting strings from Tcl to Python and back now never fails (except MemoryError)
Documentation:
  • Add list of no-longer-escaped chars to re.escape documentation
Tests:
  • On timeout, regrtest no longer attempts to call popen.communicate() again: it can hang until all child processes using stdout and stderr pipes completes. Kill the worker process and ignores its output. Change also the faulthandler timeout of the main process from 1 minute to 5 minutes, for Python slowest buildbots
IDLE:
  • IDLE no longer fails when write non-encodable characters to stderr. It now escapes them with a backslash, as the regular Python interpreter. Added the errors field to the standard streams
Tools/Demos:
  • Update Valgrind suppression file to ignore a false alarm in PyUnicode_Decode() when using GCC builtin strcmp()
  • Pathfix.py: Assume all files that end on ‘.py’ are Python scripts when working recursively
C API:
  • Fix a crash in weakref.proxy objects due to incorrect lifetime management when calling some associated methods that may delete the last reference to object being referenced by the proxy. Patch by Pablo Galindo

6 Python Reviews

Rate this app:

Millenniumx
02 April 2006

Most helpful

"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.
Like (17)
Version 2.4.3
umaromc
30 September 2012
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
Like
Version 3.30
Iliketrash
19 March 2012
>>> range(3,7) [3, 4, 5, 6] WTF? How stupid can a language get?
Like (2)
Version 3.2.3rc2
4 answer(s)
Thoiz-vd
Thoiz-vd
19 April 2012
It is very common in programming that a range is inclusive for the lower bound and exclusive for the upper bound.
Like (4)
Iliketrash
Iliketrash
19 April 2012
No, it's not "very common." And this kind of bad language design comes from C and is the source of many off-by-one errors, in both C and languages that are influenced by C.
Like (3)
Thoiz-vd
Thoiz-vd
19 April 2012
Yet I wouldn't call it stupid to follow a convention. In fact it's better to adhere to one supposedly bad rule than to come up with a second; that would for sure result in lots of off-by-one errors. Why ignore the whole C family, which has meant a lot more to the field of computing than most languages ever will? You make me curious what language is good enough for you, if everything C inspired is stupid.
Like (6)
Deemery
Deemery
17 March 2014
A great example of "harmful C syntax" is the now infamous Mac OS/iOS extraneous "break" statement in the certificate checking code. Unfortunately, though, most people have accepted C syntax as "the only true way". And in answer to 'what language is good enough', languages that derive from Pascal are -much easier- to understand than those derived from C.
Like
SickTeddyBear
21 February 2011
FYI, there are universal installers for Intel/PPC and 10.3->10.6: http://www.python.org/download/
Like (4)
Version 3.2.0
Trashie
23 October 2010
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.
Like (3)
Version 3.1.2
Millenniumx
02 April 2006
"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.
Like (17)
Version 2.4.3
3 answer(s)
Tuishimi
Tuishimi
19 February 2008
That whole "indentation" claim used AGAINST Python really irks me. It is one of the best features of one of the most easy-to-learn languages available. I agree with your comments.
Like (12)
Version 2.5.2rc1
Wreleven
Wreleven
01 March 2009
Since most developers already indent in a compatible way it's not the main issue. I know I felt weird about losing the { and } brackets though. They were like visual safety belts. I'm comfortable with Python now, I'm happen to trade them in for a better language.
Like (2)
Version 3.0.1
Surfspirit
Surfspirit
03 March 2010
Completely agree, I hate python because of that!!!
Like (1)
Version 3.1.1
Anonymous
02 April 2005
Best language ever! I was in an, umm, less than sober state of mind last night and decided I needed a script to change a list of URLs into a list of HTML links. It worked perfectly the first time. I can't think of another language I could have done it in that would have worked as well. If you have any interest in programming whatsoever, learn python. You'll be a better programmer in any language because of it.
Like (5)
Version 2.4.1
6 answer(s)
Anonymous
Anonymous
24 September 2005
Ruby.
Like (2)
Version 2.4.2rc1
Anonymous
Anonymous
24 September 2005
Ruby is definitely #2, but suffers from it's cryptic Perl-like syntax which does nothing but reduce legibility.
Like (3)
Version 2.4.2rc1
Anonymous
Anonymous
29 September 2005
"Be a better programmer ..." WRONG! One of the worst "features" of Python is that indentation is part of the syntax. Bah! Learn a lower level language so you understand what happens under the hood, and then tackle an OO language. If I need to change a list URLs into a list of HTML links I'll use a quick sed script, thank you.
Like (3)
Version 2.4.2
Mark-Everitt
Mark-Everitt
22 June 2006
The enforced syntax debate is well known and argued elsewhere, in forums specifically for arguments such as this. The result is that you get people who do like it, and people who don't. I learnt C first myself, but when it comes to rapid prototyping, and scripting, python is excellent. I use it as a replacement for Matlab, and it performs very well indeed. For learner programmers, python is great to teach syntax of course. An alternative starting language such as C gives you more of an idea about how machines work, but this can be extremely intimidating for those just starting out. Posting about learning a language on here is perhaps moot, due to the MacPython 2.3 installation present by default which is fine for begginers programming. A new user certainly shouldn't start with beta software.
Like (4)
Version 2.5b1
asmeurer-2
asmeurer-2
09 November 2008
I probably would have used regular expressions in a text editor to do that.
Like
Version 2.6
Trashie
Trashie
16 March 2012
Python and Ruby is Apples and Oranges. Ruby is better compared to Perl. This comes from the django/rails wars but their underlying languages are very different.
Like
Free

4.3

App requirements: 
  • Intel 64
  • OS X 10.9.0 or later
Category: 
Developer Website: 
Download(29 MB)MacUpdateInstall with MacUpdate

Downloaded & Installed 107,253 times