Vous êtes sur la page 1sur 20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

Python(programminglanguage)
FromWikipedia,thefreeencyclopedia

Pythonisawidelyusedgeneralpurpose,highlevelprogramminglanguage.[20][21]Itsdesign
philosophyemphasizescodereadability,anditssyntaxallowsprogrammerstoexpressconceptsin
fewerlinesofcodethanwouldbepossibleinlanguagessuchasC++orJava.[22][23]Thelanguage
providesconstructsintendedtoenableclearprogramsonbothasmallandlargescale.[24]
Pythonsupportsmultipleprogrammingparadigms,includingobjectoriented,imperativeand
functionalprogrammingorproceduralstyles.Itfeaturesadynamictypesystemandautomatic
memorymanagementandhasalargeandcomprehensivestandardlibrary.[25]
Pythoninterpretersareavailableforinstallationonmanyoperatingsystems,allowingPythoncode
executiononawidevarietyofsystems.Usingthirdpartytools,suchasPy2exeorPyinstaller,[26]
Pythoncodecanbepackagedintostandaloneexecutableprogramsforsomeofthemostpopular
operatingsystems,allowingthedistributionofPythonbasedsoftwareforuseonthoseenvironments
withoutrequiringtheinstallationofaPythoninterpreter.

Python

Paradigm

multiparadigm:objectoriented,
imperative,functional,procedural,
reflective

Designedby

GuidovanRossum

Developer

PythonSoftwareFoundation

Firstappeared 1991
Stablerelease 3.5.1/
7December2015[1]
2.7.11/

CPython,thereferenceimplementationofPython,isfreeandopensourcesoftwareandhasa
communitybaseddevelopmentmodel,asdonearlyallofitsalternativeimplementations.CPythonis
managedbythenonprofitPythonSoftwareFoundation.

Contents
1 History
2 Featuresandphilosophy
3 Syntaxandsemantics
3.1 Indentation

https://en.wikipedia.org/wiki/Python_(programming_language)

5December2015[2]
Typing
discipline

duck,dynamic,strong,gradual(as

OS

Crossplatform

License

PythonSoftwareFoundation
License

Filename
extensions

.py,.pyc,.pyd,.pyo, [4]pyw,

Website

www.python.org

ofPython3.5)[3]

.pyz[5]

1/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

3.1 Indentation
3.2 Statementsandcontrolflow
3.3 Expressions

(https://www.python.org/)
Majorimplementations
CPython,IronPython,Jython,PyPy
Dialects

3.4 Methods
3.5 Typing
3.6 Mathematics
4 Libraries
5 Developmentenvironments
6 Implementations
7 Development
8 Naming

Cython,RPython,StacklessPython
Influencedby
ABC, [6]ALGOL68, [7]C, [8]C++, [9]Dylan, [10]
Haskell, [11]Icon, [12]Java, [13]Lisp, [14]
Modula3, [9]Perl
Influenced
Boo,Cobra,D,F#,Falcon,Go,Groovy,
JavaScript, [15][16]Julia, [17]Nim,Ruby, [18]
Swift[19]
PythonProgrammingatWikibooks

9 Use
10 LanguagesinfluencedbyPython
11 Seealso
12 References
13 Furtherreading
14 Externallinks

History
https://en.wikipedia.org/wiki/Python_(programming_language)

2/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

Pythonwasconceivedinthelate1980s,[27]anditsimplementationwasstartedinDecember1989[28]byGuido
vanRossumatCWIintheNetherlandsasasuccessortotheABClanguage(itselfinspiredbySETL)[29]capable
ofexceptionhandlingandinterfacingwiththeAmoebaoperatingsystem.[6]VanRossumisPython'sprincipal
author,andhiscontinuingcentralroleindecidingthedirectionofPythonisreflectedinthetitlegiventohimby
thePythoncommunity,benevolentdictatorforlife(BDFL).
AbouttheoriginofPython,VanRossumwrotein1996:[30]
Oversixyearsago,inDecember1989,Iwaslookingfora"hobby"programmingprojectthatwould
keepmeoccupiedduringtheweekaroundChristmas.Myoffice...wouldbeclosed,butIhada
homecomputer,andnotmuchelseonmyhands.Idecidedtowriteaninterpreterforthenew
scriptinglanguageIhadbeenthinkingaboutlately:adescendantofABCthatwouldappealto
Unix/Chackers.IchosePythonasaworkingtitlefortheproject,beinginaslightlyirreverentmood
(andabigfanofMontyPython'sFlyingCircus).
Python2.0wasreleasedon16October2000andhadmanymajornewfeatures,includingacycledetecting
garbagecollectorandsupportforUnicode.Withthisreleasethedevelopmentprocesswaschangedandbecame
moretransparentandcommunitybacked.[31]

GuidovanRossum,thecreatorof
Python

Python3.0(alsocalledPython3000orpy3k),amajor,backwardsincompatiblerelease,wasreleasedon3
December2008[32]afteralongperiodoftesting.ManyofitsmajorfeatureshavebeenbackportedtothebackwardscompatiblePython2.6and2.7.[33]

Featuresandphilosophy
Pythonisamultiparadigmprogramminglanguage:objectorientedprogrammingandstructuredprogrammingarefullysupported,andtherearea
numberoflanguagefeatureswhichsupportfunctionalprogrammingandaspectorientedprogramming(includingbymetaprogramming[34]andbymagic
methods).[35]Manyotherparadigmsaresupportedusingextensions,includingdesignbycontract[36][37]andlogicprogramming.[38]
Pythonusesdynamictypingandacombinationofreferencecountingandacycledetectinggarbagecollectorformemorymanagement.Animportant
featureofPythonisdynamicnameresolution(latebinding),whichbindsmethodandvariablenamesduringprogramexecution.

https://en.wikipedia.org/wiki/Python_(programming_language)

3/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

ThedesignofPythonofferssomesupportforfunctionalprogrammingintheLisptradition.Thelanguagehasmap(),reduce()andfilter()functions
comprehensionsforlists,dictionaries,andsetsandgeneratorexpressions.[39]Thestandardlibraryhastwomodules(itertoolsandfunctools)that
implementfunctionaltoolsborrowedfromHaskellandStandardML.[40]
Thecorephilosophyofthelanguageissummarizedbythedocument"PEP20(TheZenofPython)",whichincludesaphorismssuchas:[41]
Beautifulisbetterthanugly
Explicitisbetterthanimplicit
Simpleisbetterthancomplex
Complexisbetterthancomplicated
Readabilitycounts
Ratherthanrequiringalldesiredfunctionalitytobebuiltintothelanguage'score,Pythonwasdesignedtobehighlyextensible.Pythoncanalsobe
embeddedinexistingapplicationsthatneedaprogrammableinterface.Thisdesignofasmallcorelanguagewithalargestandardlibraryandaneasily
extensibleinterpreterwasintendedbyVanRossumfromtheverystartbecauseofhisfrustrationswithABC(whichespousedtheoppositemindset).[27]
Whileofferingchoiceincodingmethodology,thePythonphilosophyrejectsexuberantsyntax,suchasinPerl,infavorofasparser,lesscluttered
grammar.AsAlexMartelliputit:"TodescribesomethingascleverisnotconsideredacomplimentinthePythonculture."[42]Python'sphilosophy
rejectsthePerl"thereismorethanonewaytodoit"approachtolanguagedesigninfavorof"thereshouldbeoneandpreferablyonlyoneobvious
waytodoit".[41]
Python'sdevelopersstrivetoavoidprematureoptimization,andmoreover,rejectpatchestononcriticalpartsofCPythonthatwouldofferamarginal
increaseinspeedatthecostofclarity.[43]Whenspeedisimportant,aPythonprogrammercanmovetimecriticalfunctionstoextensionmoduleswritten
inlanguagessuchasC,ortryusingPyPy,ajustintimecompiler.Cythonisalsoavailable,whichtranslatesaPythonscriptintoCandmakesdirectC
levelAPIcallsintothePythoninterpreter.
AnimportantgoalofthePythondevelopersismakingPythonfuntouse.Thisisreflectedintheoriginofthename,whichcomesfromMonty
Python,[44]andinanoccasionallyplayfulapproachtotutorialsandreferencematerials,suchasusingexamplesthatrefertospamandeggsinsteadofthe
standardfooandbar.[45][46]
AcommonneologisminthePythoncommunityispythonic,whichcanhaveawiderangeofmeaningsrelatedtoprogramstyle.Tosaythatcodeis
pythonicistosaythatitusesPythonidiomswell,thatitisnaturalorshowsfluencyinthelanguage,thatitconformswithPython'sminimalist
philosophyandemphasisonreadability.Incontrast,codethatisdifficulttounderstandorreadslikearoughtranscriptionfromanotherprogramming
languageiscalledunpythonic.
https://en.wikipedia.org/wiki/Python_(programming_language)

4/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

UsersandadmirersofPythonespeciallythoseconsideredknowledgeableorexperiencedareoftenreferredtoasPythonists,Pythonistas,and
Pythoneers.[47][48]

Syntaxandsemantics
Pythonisintendedtobeahighlyreadablelanguage.Itisdesignedtohaveanunclutteredvisuallayout,frequentlyusingEnglishkeywordswhereother
languagesusepunctuation.Furthermore,PythonhasasmallernumberofsyntacticexceptionsandspecialcasesthanCorPascal.[49]

Indentation
Pythonuseswhitespaceindentation,ratherthancurlybracesorkeywords,todelimitblocksthisfeatureisalsotermedtheoffsiderule.Anincreasein
indentationcomesaftercertainstatementsadecreaseinindentationsignifiestheendofthecurrentblock.[50]

Statementsandcontrolflow
Python'sstatementsinclude(amongothers):
Theifstatement,whichconditionallyexecutesablockofcode,alongwithelseandelif(acontractionofelseif).
Theforstatement,whichiteratesoveraniterableobject,capturingeachelementtoalocalvariableforusebytheattachedblock.
Thewhilestatement,whichexecutesablockofcodeaslongasitsconditionistrue.
Thetrystatement,whichallowsexceptionsraisedinitsattachedcodeblocktobecaughtandhandledbyexceptclausesitalsoensuresthatclean
upcodeinafinallyblockwillalwaysberunregardlessofhowtheblockexits.
Theclassstatement,whichexecutesablockofcodeandattachesitslocalnamespacetoaclass,foruseinobjectorientedprogramming.
Thedefstatement,whichdefinesafunctionormethod.
Thewithstatement(fromPython2.5),whichenclosesacodeblockwithinacontextmanager(forexample,acquiringalockbeforetheblockof
codeisrunandreleasingthelockafterwards,oropeningafileandthenclosingit),allowingRAIIlikebehavior.
Thepassstatement,whichservesasaNOP.Itissyntacticallyneededtocreateanemptycodeblock.
Theassertstatement,usedduringdebuggingtocheckforconditionsthatoughttoapply.
Theyieldstatement,whichreturnsavaluefromageneratorfunction.FromPython2.5,yieldisalsoanoperator.Thisformisusedtoimplement
coroutines.
Theimportstatement,whichisusedtoimportmoduleswhosefunctionsorvariablescanbeusedinthecurrentprogram.
Theprintstatementwaschangedtotheprint()functioninPython3.[51]

https://en.wikipedia.org/wiki/Python_(programming_language)

5/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

Pythondoesnotsupporttailcalloptimizationorfirstclasscontinuations,and,accordingtoGuidovanRossum,itneverwill.[52][53]However,better
supportforcoroutinelikefunctionalityisprovidedin2.5,byextendingPython'sgenerators.[54]Priorto2.5,generatorswerelazyiteratorsinformation
waspassedunidirectionallyoutofthegenerator.AsofPython2.5,itispossibletopassinformationbackintoageneratorfunction,andasofPython3.3,
theinformationcanbepassedthroughmultiplestacklevels.[55]

Expressions
PythonexpressionsaresimilartolanguagessuchasCandJava:
Addition,subtraction,andmultiplicationarethesame,butthebehaviorofdivisiondiffers(seeMathematicsfordetails).Pythonalsoaddedthe**
operatorforexponentiation.
InPython,==comparesbyvalue,incontrasttoJava,whereitcomparesbyreference.(ValuecomparisonsinJavausetheequals()method.)
Python'sisoperatormaybeusedtocompareobjectidentities(comparisonbyreference).Comparisonsmaybechained,forexamplea<=b<=c.
Pythonusesthewordsand,or,notforitsbooleanoperatorsratherthanthesymbolic&&,||,!usedinJavaandC.
Pythonhasatypeofexpressiontermedalistcomprehension.Python2.4extendedlistcomprehensionsintoamoregeneralexpressiontermeda
generatorexpression.[39]
Anonymousfunctionsareimplementedusinglambdaexpressionshowever,thesearelimitedinthatthebodycanonlybeasingleexpression.
ConditionalexpressionsinPythonarewrittenasxifcelsey[56](differentinorderofoperandsfromthe?:operatorcommontomanyother
languages).
Pythonmakesadistinctionbetweenlistsandtuples.Listsarewrittenas[1,2,3],aremutable,andcannotbeusedasthekeysofdictionaries
(dictionarykeysmustbeimmutableinPython).Tuplesarewrittenas(1,2,3),areimmutableandthuscanbeusedasthekeysofdictionaries,
providedallelementsofthetupleareimmutable.Theparenthesesaroundthetupleareoptionalinsomecontexts.Tuplescanappearontheleft
sideofanequalsignhenceastatementlikex,y=y,xcanbeusedtoswaptwovariables.
Pythonhasa"stringformat"operator%.ThisfunctionsanalogoustoprintfformatstringsinC,e.g."foo=%sbar=%d"%("blah",2)evaluatesto
"foo=blahbar=2".InPython3and2.6+,thiswassupplementedbytheformat()methodofthestrclass,e.g."foo={0}bar={1}".format("blah",
2).
Pythonhasvariouskindsofstringliterals:
Stringsdelimitedbysingleordoublequotationmarks.UnlikeinUnixshells,PerlandPerlinfluencedlanguages,singlequotationmarks
anddoublequotationmarksfunctionidentically.Bothkindsofstringusethebackslash(\)asanescapecharacterandthereisnoimplicit
stringinterpolationsuchas"$foo".
Triplequotedstrings,whichbeginandendwithaseriesofthreesingleordoublequotationmarks.Theymayspanmultiplelinesand
functionlikeheredocumentsinshells,PerlandRuby.
Rawstringvarieties,denotedbyprefixingthestringliteralwithanr.Noescapesequencesareinterpretedhencerawstringsareuseful
whereliteralbackslashesarecommon,suchasregularexpressionsandWindowsstylepaths.Compare"@quoting"inC#.
Pythonhasindexandsliceexpressionsonlists,denotedasa[key],a[start:stop]ora[start:stop:step].Indexesarezerobased,andnegative
https://en.wikipedia.org/wiki/Python_(programming_language)

6/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

indexesarerelativetotheend.Slicestakeelementsfromthestartindexupto,butnotincluding,thestopindex.Thethirdsliceparameter,called
steporstride,allowselementstobeskippedandreversed.Sliceindexesmaybeomitted,forexamplea[:]returnsacopyoftheentirelist.Each
elementofasliceisashallowcopy.
InPython,adistinctionbetweenexpressionsandstatementsisrigidlyenforced,incontrasttolanguagessuchasCommonLisp,Scheme,orRuby.This
leadstosomeduplicationoffunctionality.Forexample:
Listcomprehensionsvs.forloops
Conditionalexpressionsvs.ifblocks
Theeval()vs.exec()builtinfunctions(inPython2,execisastatement)theformerisforexpressions,thelatterisforstatements.
Statementscannotbeapartofanexpression,solistandothercomprehensionsorlambdaexpressions,allbeingexpressions,cannotcontainstatements.
Aparticularcaseofthisisthatanassignmentstatementsuchasa=1cannotformpartoftheconditionalexpressionofaconditionalstatement.Thishas
theadvantageofavoidingaclassicCerrorofmistakinganassignmentoperator=foranequalityoperator==inconditions:if(c=1){...}isvalid
Ccodebutifc=1:...causesasyntaxerrorinPython.

Methods
Methodsonobjectsarefunctionsattachedtotheobject'sclassthesyntaxinstance.method(argument)is,fornormalmethodsandfunctions,syntactic
sugarforClass.method(instance,argument).Pythonmethodshaveanexplicitselfparametertoaccessinstancedata,incontrasttotheimplicitself(or
this)insomeotherobjectorientedprogramminglanguages(e.g.C++,Java,ObjectiveC,orRuby).[57]

Typing
Pythonusesducktypingandhastypedobjectsbutuntypedvariablenames.Typeconstraintsarenotcheckedatcompiletimerather,operationsonan
objectmayfail,signifyingthatthegivenobjectisnotofasuitabletype.Despitebeingdynamicallytyped,Pythonisstronglytyped,forbidding
operationsthatarenotwelldefined(forexample,addinganumbertoastring)ratherthansilentlyattemptingtomakesenseofthem.
Pythonallowsprogrammerstodefinetheirowntypesusingclasses,whicharemostoftenusedforobjectorientedprogramming.Newinstancesof
classesareconstructedbycallingtheclass(forexample,SpamClass()orEggsClass()),andtheclassesthemselvesareinstancesofthemetaclasstype
(itselfaninstanceofitself),allowingmetaprogrammingandreflection.
Priortoversion3.0,Pythonhadtwokindsofclasses:"oldstyle"and"newstyle".[58]OldstyleclasseswereeliminatedinPython3.0,makingallclasses
newstyle.Inversionsbetween2.2and3.0,bothkindsofclassescouldbeused.Thesyntaxofbothstylesisthesame,thedifferencebeingwhetherthe
classobjectisinheritedfrom,directlyorindirectly(allnewstyleclassesinheritfromobjectandareinstancesoftype).
https://en.wikipedia.org/wiki/Python_(programming_language)

7/20

12/25/2015

Type

Python(programminglanguage)Wikipedia,thefreeencyclopedia

SummaryofPython3'sbuiltintypes
Description

Mutable

Syntaxexample

Immutable Acharacterstring:SequenceofUnicodecodepoints.

'Wikipedia'
"Wikipedia"
"""Spanning
multiple
lines"""

bytearray

Mutable

bytearray(b'SomeASCII')
bytearray(b"SomeASCII")
bytearray([119,105,107,105])

bytes

Immutable Sequenceofbytes.

b'SomeASCII'
b"SomeASCII"
bytes([119,105,107,105])

list

Mutable

[4.0,'string',True]

tuple

Immutable Cancontainmixedtypes.

set

Mutable

Unorderedset,containsnoduplicates.Cancontainmixedtypesaslongastheyare
hashable.

{4.0,'string',True}

frozenset

Immutable

Unorderedset,containsnoduplicates.Cancontainmixedtypesaslongastheyare
hashable.

frozenset([4.0,'string',
True])

dict

Mutable

Associativearray(ordictionary)ofkeyandvaluepairs.
Cancontainmixedtypes(keysandvalues).Keysmustbeahashabletype.

{'key1':1.0,3:False}

int

Immutable Integerofunlimitedmagnitude.[59]

42

float

Immutable Floatingpointnumber(systemdefinedprecision).

3.1415927

complex

Immutable Complexnumberwithrealandimaginaryparts.

3+2.7j

bool

Immutable Booleanvalue.

True
False

str

ellipsis

Sequenceofbytes.

List,cancontainmixedtypes.

AnellipsisplaceholdertobeusedasanindexinNumPyarrays.

(4.0,'string',True)

...

Mathematics
https://en.wikipedia.org/wiki/Python_(programming_language)

8/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

PythonhastheusualCarithmeticoperators(+,,*,/,%).Italsohas**forexponentiation,e.g.5**3==125and9**0.5==3.0,andanewmatrix
multiply@operatorisincludedinversion3.5.[60]
Thebehaviorofdivisionhaschangedsignificantlyovertime:[61]
Python2.1andearlierusetheCdivisionbehavior.The/operatorisintegerdivisionifbothoperandsareintegers,andfloatingpointdivision
otherwise.Integerdivisionroundstowards0,e.g.7/3==2and7/3==2.
Python2.2changesintegerdivisiontoroundtowardsnegativeinfinity,e.g.7/3==2and7/3==3.Thefloordivision//operatoris
introduced.So7//3==2,7//3==3,7.5//3==2.0and7.5//3==3.0.Addingfrom__future__importdivisioncausesamodule
tousePython3.0rulesfordivision(seenext).
Python3.0changes/toalwaysbefloatingpointdivision.InPythonterms,thepre3.0/is"classicdivision",theversion3.0/is"realdivision",
and//is"floordivision".
Roundingtowardsnegativeinfinity,thoughdifferentfrommostlanguages,addsconsistency.Forinstance,itmeansthattheequation(a+b)//b==a
//b+1isalwaystrue.Italsomeansthattheequationb*(a//b)+a%b==aisvalidforbothpositiveandnegativevaluesofa.However,
maintainingthevalidityofthisequationmeansthatwhiletheresultofa%bis,asexpected,inthehalfopeninterval[0,b),wherebisapositiveinteger,
ithastolieintheinterval(b,0]whenbisnegative.[62]
Pythonprovidesaroundfunctionforroundingafloattothenearestinteger.Fortiebreaking,versionsbefore3useroundawayfromzero:round(0.5)is
1.0,round(0.5)is1.0.[63]Python3usesroundtoeven:round(1.5)is2,round(2.5)is2.[64]
Pythonallowsbooleanexpressionswithmultipleequalityrelationsinamannerthatisconsistentwithgeneralusageinmathematics.Forexample,the
expressiona<b<ctestswhetheraislessthanbandbislessthanc.Cderivedlanguagesinterpretthisexpressiondifferently:inC,theexpression
wouldfirstevaluatea<b,resultingin0or1,andthatresultwouldthenbecomparedwithc.[65]
Pythonhasextensivebuiltinsupportforarbitraryprecisionarithmetic.Integersaretransparentlyswitchedfromthemachinesupportedmaximumfixed
precision(usually32or64bits),belongingtothepythontypeint,toarbitraryprecision,belongingtothepythontypelong,whereneeded.Thelatter
havean"L"suffixintheirtextualrepresentation.[66]TheDecimaltype/classinmoduledecimal(sinceversion2.4)providesdecimalfloatingpoint
numberstoarbitraryprecisionandseveralroundingmodes.[67]TheFractiontypeinmodulefractions(sinceversion2.6)providesarbitraryprecision
forrationalnumbers.[68]
DuetoPython'sextensivemathematicslibrary,itisfrequentlyusedasascientificscriptinglanguagetoaidinproblemssuchasnumericaldata
processingandmanipulation.
https://en.wikipedia.org/wiki/Python_(programming_language)

9/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

Libraries
Pythonhasalargestandardlibrary,commonlycitedasoneofPython'sgreateststrengths,[69]providingtoolssuitedtomanytasks.Thisisdeliberateand
hasbeendescribedasa"batteriesincluded"[25]Pythonphilosophy.ForInternetfacingapplications,alargenumberofstandardformatsandprotocols
(suchasMIMEandHTTP)aresupported.Modulesforcreatinggraphicaluserinterfaces,connectingtorelationaldatabases,pseudorandomnumber
generators,arithmeticwitharbitraryprecisiondecimals,[70]manipulatingregularexpressions,anddoingunittestingarealsoincluded.
Somepartsofthestandardlibraryarecoveredbyspecifications(forexample,theWSGIimplementationwsgireffollowsPEP333[71]),butthemajority
ofthemodulesarenot.Theyarespecifiedbytheircode,internaldocumentation,andtestsuite(ifsupplied).However,becausemostofthestandard
libraryiscrossplatformPythoncode,thereareonlyafewmodulesthatmustbealteredorcompletelyrewrittenbyalternativeimplementations.
ThestandardlibraryisnotessentialtorunPythonorembedPythonwithinanapplication.Blender2.49,forinstance,omitsmostofthestandardlibrary.
AsofAugust2015,thePythonPackageIndex,theofficialrepositoryofthirdpartysoftwareforPython,containsmorethan65,000packagesofferinga
widerangeoffunctionality,including:
graphicaluserinterfaces,webframeworks,multimedia,databases,networkingandcommunications
testframeworks,automationandwebscraping,documentationtools,systemadministration
scientificcomputing,textprocessing,imageprocessing

Developmentenvironments
MostPythonimplementations(includingCPython)canfunctionasacommandlineinterpreter,forwhichtheuserentersstatementssequentiallyand
receivestheresultsimmediately(REPL).Inshort,Pythonactsasashell.
Othershellsaddcapabilitiesbeyondthoseinthebasicinterpreter,includingIDLEandIPython.WhilegenerallyfollowingthevisualstyleofthePython
shell,theyimplementfeatureslikeautocompletion,retentionofsessionstate,andsyntaxhighlighting.
InadditiontostandarddesktopPythonIDEs(integrateddevelopmentenvironments),therearealsobrowserbasedIDEs,Sage(intendedfordeveloping
scienceandmathrelatedPythonprograms),andabrowserbasedIDEandhostingenvironment,PythonAnywhere.

Implementations
https://en.wikipedia.org/wiki/Python_(programming_language)

10/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

ThemainPythonimplementation,namedCPython,iswritteninCmeetingtheC89standard.[72]ItcompilesPythonprogramsintointermediate
bytecode,[73]whichisexecutedbythevirtualmachine.[74]CPythonisdistributedwithalargestandardlibrarywritteninamixtureofCandPython.Itis
availableinversionsformanyplatforms,includingMicrosoftWindows(whileWindowsXPsupportwasdroppedsince3.5,"perPEP11"[as
consideredoneofthe"littleusedplatforms"][75])andmostmodernUnixlikesystems.CPythonwasintendedfromalmostitsveryconceptiontobe
crossplatform.[76]
PyPyisafast,compliant[77]interpreterofPython2.7and3.2.ItsjustintimecompilerbringsasignificantspeedimprovementoverCPython.[78]A
versiontakingadvantageofmulticoreprocessorsusingsoftwaretransactionalmemoryisbeingcreated.[79]
StacklessPythonisasignificantforkofCPythonthatimplementsmicrothreadsitdoesnotusetheCmemorystack,thusallowingmassivelyconcurrent
programs.PyPyalsohasastacklessversion.[80]
Otherjustintimecompilershavebeendevelopedinthepast,butarenowunsupported:
GooglestartedaprojectcalledUnladenSwallowin2009withtheaimsofincreasingthespeedofthePythoninterpreterby5timesbyusingthe
LLVMandimprovingitsmultithreadingabilitytoscaletothousandsofcores.[81]
PsycoisaspecialisingjustintimecompilerthatintegrateswithCPythonandtransformsbytecodetomachinecodeatruntime.Theproducedcode
isspecialisedforcertaindatatypesandisfasterthanstandardPythoncode.
In2005,NokiareleasedaPythoninterpreterfortheSeries60mobilephonescalledPyS60.ItincludesmanyofthemodulesfromtheCPython
implementationsandsomeadditionalmodulesforintegrationwiththeSymbianoperatingsystem.Thisprojecthasbeenkeptuptodatetorunonall
variantsoftheS60platformandthereareseveralthirdpartymodulesavailable.TheNokiaN900alsosupportsPythonwithGTKwidgetlibraries,with
thefeaturethatprogramscanbebothwrittenandrunonthedeviceitself.[82]
Thereareseveralcompilerstohighlevelobjectlanguages,witheitherunrestrictedPython,arestrictedsubsetofPython,oralanguagesimilartoPython
asthesourcelanguage:
JythoncompilesintoJavabytecode,whichcanthenbeexecutedbyeveryJavavirtualmachineimplementation.ThisalsoenablestheuseofJava
classlibraryfunctionsfromthePythonprogram.
IronPythonfollowsasimilarapproachinordertorunPythonprogramsonthe.NETCommonLanguageRuntime.
TheRPythonlanguagecanbecompiledtoC,Javabytecode,orCommonIntermediateLanguage,andisusedtobuildthePyPyinterpreterof
Python.
PyjamascompilesPythontoJavaScript.
ShedSkincompilesPythontoC++.
CythonandPyrexcompiletoC.
https://en.wikipedia.org/wiki/Python_(programming_language)

11/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

AperformancecomparisonofvariousPythonimplementationsonanonnumerical(combinatorial)workloadwaspresentedatEuroSciPy'13.[83]

Development
Python'sdevelopmentisconductedlargelythroughthePythonEnhancementProposal(PEP)process.ThePEPprocessistheprimarymechanismfor
proposingmajornewfeatures,forcollectingcommunityinputonanissue,andfordocumentingthedesigndecisionsthathavegoneintoPython.[84]
OutstandingPEPsarereviewedandcommenteduponbythePythoncommunityandbyVanRossum,thePythonproject'sbenevolentdictatorforlife.[84]
EnhancementofthelanguagegoesalongwithdevelopmentoftheCPythonreferenceimplementation.Themailinglistpythondevistheprimaryforum
fordiscussionaboutthelanguage'sdevelopmentspecificissuesarediscussedintheRoundupbugtrackermaintainedatpython.org.[85]Development
takesplaceonaselfhostedsourcecoderepositoryrunningMercurial.[86]
CPython'spublicreleasescomeinthreetypes,distinguishedbywhichpartoftheversionnumberisincremented:
Backwardsincompatibleversions,wherecodeisexpectedtobreakandmustbemanuallyported.Thefirstpartoftheversionnumberis
incremented.Thesereleaseshappeninfrequentlyforexample,version3.0wasreleased8yearsafter2.0.
Majoror"feature"releases,whicharelargelycompatiblebutintroducenewfeatures.Thesecondpartoftheversionnumberisincremented.These
releasesarescheduledtooccurroughlyevery18months,andeachmajorversionissupportedbybugfixesforseveralyearsafteritsrelease.[87]
Bugfixreleases,whichintroducenonewfeaturesbutfixbugs.Thethirdandfinalpartoftheversionnumberisincremented.Thesereleasesare
madewheneverasufficientnumberofbugshavebeenfixedupstreamsincethelastrelease,orroughlyevery3months.Securityvulnerabilities
arealsopatchedinbugfixreleases.[88]
Anumberofalpha,beta,andreleasecandidatesarealsoreleasedaspreviewsandfortestingbeforethefinalreleaseismade.Althoughthereisarough
scheduleforeachrelease,thisisoftenpushedbackifthecodeisnotready.Thedevelopmentteammonitorthestateofthecodebyrunningthelargeunit
testsuiteduringdevelopment,andusingtheBuildBotcontinuousintegrationsystem.[89]
ThecommunityofPythondevelopershasalsocontributedover58,000softwaremodules(asof2May2015)tothePythonPackageIndex(calledPyPI),
theofficialrepositoryofthirdpartylibrariesforPython.
ThemajoracademicconferenceonPythonisnamedPyCon.TherearespecialmentoringprogrammeslikethePyladies.

Naming
https://en.wikipedia.org/wiki/Python_(programming_language)

12/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

Python'snameisderivedfromthetelevisionseriesMontyPython'sFlyingCircus,[90]anditiscommontouseMontyPythonreferencesinexample
code.[91]Forexample,themetasyntacticvariablesoftenusedinPythonliteraturearespamandeggs,insteadofthetraditionalfooandbar.[91][92]Aswell
asthis,theofficialPythondocumentationoftencontainsvariousobscureMontyPythonreferences.
TheprefixPyisusedtoshowthatsomethingisrelatedtoPython.ExamplesoftheuseofthisprefixinnamesofPythonapplicationsorlibrariesinclude
Pygame,abindingofSDLtoPython(commonlyusedtocreategames)PyS60,animplementationfortheSymbianS60operatingsystemPyQtand
PyGTK,whichbindQtandGTK,respectively,toPythonandPyPy,aPythonimplementationoriginallywritteninPython.

Use
Since2003,PythonhasconsistentlyrankedinthetoptenmostpopularprogramminglanguagesasmeasuredbytheTIOBEProgrammingCommunity
Index.AsofSeptember2015,itisinthefifthposition.[93]ItwasrankedasProgrammingLanguageoftheYearfortheyear2007and2010.[20]Itisthe
thirdmostpopularlanguagewhosegrammaticalsyntaxisnotpredominantlybasedonC,e.g.C++,ObjectiveC(note,C#andJavaonlyhavepartial
syntacticsimilaritytoC,suchastheuseofcurlybraces,andarecloserinsimilaritytoeachotherthanC).
Anempiricalstudyfoundscriptinglanguages(suchasPython)moreproductivethanconventionallanguages(suchasCandJava)foraprogramming
probleminvolvingstringmanipulationandsearchinadictionary.Memoryconsumptionwasoften"betterthanJavaandnotmuchworsethanCor
C++".[94]
LargeorganizationsthatmakeuseofPythonincludeGoogle,[95]Yahoo!,[96]CERN,[97]NASA,[98]andsomesmalleroneslikeILM,[99]andITA.[100]
Pythoncanserveasascriptinglanguageforwebapplications,e.g.,viamod_wsgifortheApachewebserver.[101]WithWebServerGatewayInterface,a
standardAPIhasevolvedtofacilitatetheseapplications.WebapplicationframeworkslikeDjango,Pylons,Pyramid,TurboGears,web2py,Tornado,
Flask,BottleandZopesupportdevelopersinthedesignandmaintenanceofcomplexapplications.PyjamasandIronPythoncanbeusedtodevelopthe
clientsideofAjaxbasedapplications.SQLAlchemycanbeusedasdatamappertoarelationaldatabase.Twistedisaframeworktoprogram
communicationsbetweencomputers,andisused(forexample)byDropbox.
LibrarieslikeNumPy,SciPyandMatplotliballowtheeffectiveuseofPythoninscientificcomputing,[102][103]withspecializedlibrariessuchas
BioPythonandAstropyprovidingdomainspecificfunctionality.Sageisamathematicalsoftwarewitha"notebook"programmableinPython:itslibrary
coversmanyaspectsofmathematics,includingalgebra,combinatorics,numericalmathematics,numbertheory,andcalculus.
Pythonhasbeensuccessfullyembeddedinanumberofsoftwareproductsasascriptinglanguage,includinginfiniteelementmethodsoftwaresuchas
Abaqus,3DparametricmodelerlikeFreeCAD,3Danimationpackagessuchas3dsMax,Blender,Cinema4D,Lightwave,Houdini,Maya,modo,
MotionBuilder,Softimage,thevisualeffectscompositorNuke,2DimagingprogramslikeGIMP,[104]Inkscape,ScribusandPaintShopPro,[105]and
https://en.wikipedia.org/wiki/Python_(programming_language)

13/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

musicalnotationprogramorscorewritercapella.GNUDebuggerusesPythonasaprettyprintertoshowcomplexstructuressuchasC++containers.Esri
promotesPythonasthebestchoiceforwritingscriptsinArcGIS.[106]Ithasalsobeenusedinseveralvideogames,[107][108]andhasbeenadoptedasfirst
ofthethreeavailableprogramminglanguagesinGoogleAppEngine,theothertwobeingJavaandGo.[109]
Pythonhasalsobeenusedinartificialintelligencetasks.[110][111][112][113]Asascriptinglanguagewithmodulearchitecture,simplesyntaxandrichtext
processingtools,Pythonisoftenusedfornaturallanguageprocessingtasks.[114]
ManyoperatingsystemsincludePythonasastandardcomponentthelanguageshipswithmostLinuxdistributions,AmigaOS4,FreeBSD,NetBSD,
OpenBSDandOSX,andcanbeusedfromtheterminal.AnumberofLinuxdistributionsuseinstallerswritteninPython:UbuntuusestheUbiquity
installer,whileRedHatLinuxandFedorausetheAnacondainstaller.GentooLinuxusesPythoninitspackagemanagementsystem,Portage.
Pythonhasalsoseenextensiveuseintheinformationsecurityindustry,includinginexploitdevelopment.[115][116]
MostoftheSugarsoftwarefortheOneLaptopperChildXO,nowdevelopedatSugarLabs,iswritteninPython.[117]
TheRaspberryPisingleboardcomputerprojecthasadoptedPythonasitsprincipaluserprogramminglanguage.
LibreOfficeincludesPythonandintendstoreplaceJavawithPython.PythonScriptingProviderisacorefeature[118]sinceVersion4.0from7February
2013.

LanguagesinfluencedbyPython
Python'sdesignandphilosophyhaveinfluencedseveralprogramminglanguages,including:
Boousesindentation,asimilarsyntax,andasimilarobjectmodel.However,Boousesstatictyping(aswellasoptionalducktyping)andis
closelyintegratedwiththe.NETFramework.[119]
Cobrausesindentationandasimilarsyntax.Cobra's"Acknowledgements"documentlistsPythonfirstamonglanguagesthatinfluencedit.[120]
However,Cobradirectlysupportsdesignbycontract,unittests,andoptionalstatictyping.[121]
ECMAScriptborrowediterators,generators,andlistcomprehensionsfromPython.[122]
Goisdescribedasincorporatingthe"developmentspeedofworkinginadynamiclanguagelikePython".[123]
GroovywasmotivatedbythedesiretobringthePythondesignphilosophytoJava.[124]
Juliawasdesigned"withtruemacros[..andtobe]asusableforgeneralprogrammingasPython[and]shouldbeasfastasC".[17]Callingtoor
fromJuliaispossibletowithPyCall.jl(https://github.com/stevengj/PyCall.jl)andaPythonpackagejyjulia(https://github.com/JuliaLang/pyjulia)
https://en.wikipedia.org/wiki/Python_(programming_language)

14/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

allowscalling,intheotherdirection,fromPython.
OCamlhasanoptionalsyntax,calledtwt(TheWhitespaceThing),inspiredbyPythonandHaskell.[125]
Ruby'screator,YukihiroMatsumoto,hassaid:"IwantedascriptinglanguagethatwasmorepowerfulthanPerl,andmoreobjectorientedthan
Python.That'swhyIdecidedtodesignmyownlanguage."[126]
CoffeeScriptisaprogramminglanguagethatcrosscompilestoJavaScriptithasPythoninspiredsyntax.
SwiftisaprogramminglanguageinventedbyAppleithassomePythoninspiredsyntax.[127]
Python'sdevelopmentpracticeshavealsobeenemulatedbyotherlanguages.Thepracticeofrequiringadocumentdescribingtherationalefor,and
issuessurrounding,achangetothelanguage(inPython'scase,aPEP)isalsousedinTcl[128]andErlang[129]becauseofPython'sinfluence.
PythonhasbeenawardedaTIOBEProgrammingLanguageoftheYearawardtwice(in2007and2010),whichisgiventothelanguagewiththe
greatestgrowthinpopularityoverthecourseofayear,asmeasuredbytheTIOBEindex.[130]

Seealso
IPython
ComparisonofintegrateddevelopmentenvironmentsforPython
Comparisonofprogramminglanguages
Listofprogramminglanguages
Offsiderulelanguages,whereblocksareexpressedbyindentation
PythonforS60
Cython
LAMP(softwarebundle)
LEAP(softwarebundle)

References
1.
2.
3.
4.
5.
6.
7.

Hastings,Larry(20151207)."Python3.5.1andPython3.4.4rc1arenowavailable".PythonInsider.ThePythonCoreDevelopers.Retrieved20151208.
"PythonReleasePython2.7.11".PythonSoftwareFoundation.Retrieved16December2015.
"TypehintingforPython".LWN.net.24December2014.Retrieved5May2015.
Fileextension.pyowillberemovedinPython3.5.SeePEP0488(https://www.python.org/dev/peps/pep0488/)
Holth,Moore(30March2014)."PEP0441ImprovingPythonZIPApplicationSupport".Retrieved12Nov2015.
"WhywasPythoncreatedinthefirstplace?".GeneralPythonFAQ.PythonSoftwareFoundation.Retrieved22March2007.
Kuchling,AndrewM.(22December2006)."InterviewwithGuidovanRossum(July1998)".amk.ca.Retrieved12March2012.

https://en.wikipedia.org/wiki/Python_(programming_language)

15/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

8. vanRossum,Guido(1993)."AnIntroductiontoPythonforUNIX/CProgrammers".ProceedingsoftheNLUUGnajaarsconferentie(DutchUNIXusersgroup).
"eventhoughthedesignofCisfarfromideal,itsinfluenceonPythonisconsiderable."
9. "Classes".ThePythonTutorial.PythonSoftwareFoundation.Retrieved20February2012."ItisamixtureoftheclassmechanismsfoundinC++andModula3"
10. Simionato,Michele."ThePython2.3MethodResolutionOrder".PythonSoftwareFoundation."TheC3methoditselfhasnothingtodowithPython,sinceitwas
inventedbypeopleworkingonDylananditisdescribedinapaperintendedforlispers"
11. Kuchling,A.M."FunctionalProgrammingHOWTO".Pythonv2.7.2documentation.PythonSoftwareFoundation.Retrieved9February2012.
12. Schemenauer,NeilPeters,TimHetland,MagnusLie(18May2001)."PEP255SimpleGenerators".PythonEnhancementProposals.PythonSoftware
Foundation.Retrieved9February2012.
13. Smith,KevinD.Jewett,JimJ.Montanaro,SkipBaxter,Anthony(2September2004)."PEP318DecoratorsforFunctionsandMethods".PythonEnhancement
Proposals.PythonSoftwareFoundation.Retrieved24February2012.
14. "MoreControlFlowTools".Python3documentation.PythonSoftwareFoundation.Retrieved24July2015.
15. "PerlandPythoninfluencesinJavaScript".www.2ality.com.24February2013.Retrieved15May2015.
16. Rauschmayer,Axel."Chapter3:TheNatureofJavaScriptInfluences".O'Reilly,SpeakingJavaScript.Retrieved15May2015.
17. "WhyWeCreatedJulia".Juliawebsite.February2012.Retrieved5June2014.
18. Bini,Ola(2007).PracticalJRubyonRailsWeb2.0Projects:bringingRubyonRailstotheJavaplatform.Berkeley:APress.p.3.ISBN9781590598818.
19. Lattner,Chris(3June2014)."ChrisLattner'sHomepage".ChrisLattner.Retrieved3June2014."TheSwiftlanguageistheproductoftirelesseffortfromateam
oflanguageexperts,documentationgurus,compileroptimizationninjas,andanincrediblyimportantinternaldogfoodinggroupwhoprovidedfeedbacktohelp
refineandbattletestideas.Ofcourse,italsogreatlybenefitedfromtheexperienceshardwonbymanyotherlanguagesinthefield,drawingideasfromObjective
C,Rust,Haskell,Ruby,Python,C#,CLU,andfartoomanyotherstolist."
20. TIOBESoftwareIndex(2015)."TIOBEProgrammingCommunityIndexPython".Retrieved10September2015.
21. "TheRedMonkProgrammingLanguageRankings:June2015tecosystems".Redmonk.com.1July2015.Retrieved10September2015.
22. Summerfield,Mark.RapidGUIProgrammingwithPythonandQt."Pythonisaveryexpressivelanguage,whichmeansthatwecanusuallywritefarfewerlinesof
Pythoncodethanwouldberequiredforanequivalentapplicationwrittenin,say,C++orJava"
23. McConnell,Steve(30November2009).CodeComplete,p.100.ISBN9780735636972.
24. Kuhlman,Dave."APythonBook:BeginningPython,AdvancedPython,andPythonExercises".
25. "AboutPython".PythonSoftwareFoundation.Retrieved24April2012.,secondsection"FansofPythonusethephrase"batteriesincluded"todescribethestandard
library,whichcoverseverythingfromasynchronousprocessingtozipfiles."
26. "PyInstallerHomePage".Retrieved27January2014.
27. Venners,Bill(13January2003)."TheMakingofPython".ArtimaDeveloper.Artima.Retrieved22March2007.
28. vanRossum,Guido(20January2009)."ABriefTimelineofPython".TheHistoryofPython.Google.Retrieved20January2009.
29. vanRossum,Guido(29August2000)."SETL(was:Lukewarmaboutrangeliterals)".PythonDev(Mailinglist).Retrieved13March2011.
30. vanRossum,Guido(1996)."Forewordfor"ProgrammingPython"(1sted.)".Retrieved10July2014.
31. Kuchling,A.M.Zadka,Moshe(16October2000)."What'sNewinPython2.0".PythonSoftwareFoundation.Retrieved11February2012.
32. "Python3.0Release".PythonSoftwareFoundation.Retrieved8July2009.
33. vanRossum,Guido(5April2006)."PEP3000Python3000".PythonEnhancementProposals.PythonSoftwareFoundation.Retrieved27June2009.
34. TheCainGangLtd."PythonMetaclasses:Who?Why?When?".Archivedfromtheoriginal(PDF)on10December2009.Retrieved27June2009.
35. "3.3.Specialmethodnames".ThePythonLanguageReference.PythonSoftwareFoundation.Retrieved27June2009.
36. "PyDBC:methodpreconditions,methodpostconditionsandclassinvariantsforPython".Retrieved24September2011.
37. "ContractsforPython".Retrieved24September2011.
https://en.wikipedia.org/wiki/Python_(programming_language)

16/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

38. "PyDatalog".Retrieved22July2012.
39. Hettinger,Raymond(30January2002)."PEP289GeneratorExpressions".PythonEnhancementProposals.PythonSoftwareFoundation.Retrieved19February
2012.
40. "6.5itertoolsFunctionscreatingiteratorsforefficientlooping".Docs.python.org.Retrieved24November2008.
41. Peters,Tim(19August2004)."PEP20TheZenofPython".PythonEnhancementProposals.PythonSoftwareFoundation.Retrieved24November2008.
42. Martelli,AlexRavenscroft,AnnaAscher,David(2005).PythonCookbook,2ndEdition.O'ReillyMedia.p.230.ISBN9780596007973.
43. "PythonCulture".
44. "GeneralPythonFAQWhyisitcalledPython?".
45. "15WaysPythonIsaPowerfulForceontheWeb".
46. "pprintDataprettyprinterPythonDocumentation".
47. Goodger,David."CodeLikeaPythonista:IdiomaticPython".
48. "HowtothinklikeaPythonista".
49. "IsPythonagoodlanguageforbeginningprogrammers?".GeneralPythonFAQ.PythonSoftwareFoundation.Retrieved21March2007.
50. "MythsaboutindentationinPython".Secnetix.de.Retrieved19April2011.
51. Sweigart,Al(2010)."AppendixA:DifferencesBetweenPython2and3".InventYourOwnComputerGameswithPython(2ed.).ISBN9780982106013.
Retrieved20February2014.
52. vanRossum,Guido(22April2009)."TailRecursionElimination".Neopythonic.blogspot.be.Retrieved3December2012.
53. vanRossum,Guido(9February2006)."LanguageDesignIsNotJustSolvingPuzzles".Artimaforums.Artima.Retrieved21March2007.
54. vanRossum,GuidoEby,PhillipJ.(10May2005)."PEP342CoroutinesviaEnhancedGenerators".PythonEnhancementProposals.PythonSoftware
Foundation.Retrieved19February2012.
55. "PEP380".Python.org.Retrieved3December2012.
56. vanRossum,GuidoHettinger,Raymond(7February2003)."PEP308ConditionalExpressions".PythonEnhancementProposals.PythonSoftwareFoundation.
Retrieved13July2011.
57. "Whymust'self'beusedexplicitlyinmethoddefinitionsandcalls?".DesignandHistoryFAQ.PythonSoftwareFoundation.Retrieved19February2012.
58. "ThePythonLanguageReference,section3.3.Newstyleandclassicclasses,forrelease2.7.1".Retrieved12January2011.
59. Zadka,MoshevanRossum,Guido(11March2001)."PEP237UnifyingLongIntegersandIntegers".PythonEnhancementProposals.PythonSoftware
Foundation.Retrieved24September2011.
60. "PEP465Adedicatedinfixoperatorformatrixmultiplication".python.org.
61. Zadka,MoshevanRossum,Guido(11March2001)."PEP238ChangingtheDivisionOperator".PythonEnhancementProposals.PythonSoftwareFoundation.
Retrieved23October2013.
62. "WhyPython'sIntegerDivisionFloors".Retrieved25August2010.
63. "round",ThePythonstandardlibrary,release2.7,2:Builtinfunctions,retrieved14August2011
64. "round",ThePythonstandardlibrary,release3.2,2:Builtinfunctions,retrieved14August2011
65. PythonEssentialReference,DavidMBeazley
66. "BuiltinType".docs.python.org.
67. Batista,Facundo."PEP0327DecimalDataType".Python.org.Retrieved20150926.
68. "WhatsNewinPython2.6Pythonv2.6.9documentation".docs.python.org.Retrieved20150926.
69. Piotrowski,Przemyslaw(July2006)."BuildaRapidWebDevelopmentEnvironmentforPythonServerPagesandOracle".OracleTechnologyNetwork.Oracle.
Retrieved12March2012.
https://en.wikipedia.org/wiki/Python_(programming_language)

17/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

70. Batista,Facundo(17October2003)."PEP327DecimalDataType".PythonEnhancementProposals.PythonSoftwareFoundation.Retrieved24November
2008.
71. Eby,PhillipJ.(7December2003)."PEP333PythonWebServerGatewayInterfacev1.0".PythonEnhancementProposals.PythonSoftwareFoundation.
Retrieved19February2012.
72. vanRossum,Guido(5June2001)."PEP7StyleGuideforCCode".PythonEnhancementProposals.PythonSoftwareFoundation.Retrieved24November
2008.
73. "CPythonbytecode".Docs.python.org.Retrieved19April2011.
74. "Python2.5internals"(PDF).Retrieved19April2011.
75. https://docs.python.org/3/whatsnew/3.5.html
76. "AnInterviewwithGuidovanRossum".Oreilly.com.Retrieved24November2008.
77. "PyPycompatibility".Pypy.org.Retrieved3December2012.
78. "speedcomparisonbetweenCPythonandPypy".Speed.pypy.org.Retrieved3December2012.
79. "STMwiththreads".Morepypy.blogspot.be.10June2012.Retrieved3December2012.
80. "ApplicationlevelStacklessfeaturesPyPy2.0.2documentation".Doc.pypy.org.Retrieved17July2013.
81. "PlansforoptimizingPython".GoogleProjectHosting.Google.15December2009.Retrieved24September2011.
82. "PythonontheNokiaN900".StochasticGeometry.
83. Murri,Riccardo(2013).PerformanceofPythonruntimesonanonnumericscientificcode.EuropeanConferenceonPythoninScience(EuroSciPy).
84. Warsaw,BarryHylton,JeremyGoodger,David(13June2000)."PEP1PEPPurposeandGuidelines".PythonEnhancementProposals.PythonSoftware
Foundation.Retrieved19April2011.
85. Cannon,Brett."Guido,SomeGuys,andaMailingList:HowPythonisDeveloped".python.org.PythonSoftwareFoundation.Archivedfromtheoriginalon1
June2009.Retrieved27June2009.
86. "PythonDeveloper'sGuide".
87. Norwitz,Neal(8April2002)."[PythonDev]ReleaseSchedules(wasStability&change)".Retrieved27June2009.
88. AahzBaxter,Anthony(15March2001)."PEP6BugFixReleases".PythonEnhancementProposals.PythonSoftwareFoundation.Retrieved27June2009.
89. "PythonBuildbot".PythonDevelopersGuide.PythonSoftwareFoundation.Retrieved24September2011.
90. "GeneralPythonFAQ".Pythonv2.7.3documentation.Docs.python.org.Retrieved3December2012.
91. "WhettingYourAppetite".ThePythonTutorial.PythonSoftwareFoundation.Retrieved20February2012.
92. "InPython,shouldIuseelseafterareturninanifblock?".StackOverflow.StackExchange.17February2011.Retrieved6May2011.
93. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
94. Prechelt,Lutz(14March2000)."AnempiricalcomparisonofC,C++,Java,Perl,Python,Rexx,andTcl"(PDF).Retrieved30August2013.
95. "QuotesaboutPython".PythonSoftwareFoundation.Retrieved8January2012.
96. "OrganizationsUsingPython".PythonSoftwareFoundation.Retrieved15January2009.
97. "Python:theholygrailofprogramming".CERNBulletin(CERNPublications)(31/2006).31July2006.Retrieved11February2012.
98. Shafer,DanielG.(17January2003)."PythonStreamlinesSpaceShuttleMissionDesign".PythonSoftwareFoundation.Retrieved24November2008.
99. Fortenberry,Tim(17January2003)."IndustrialLight&MagicRunsonPython".PythonSoftwareFoundation.Retrieved11February2012.
100. Taft,DarrylK.(5March2007)."PythonSlithersintoSystems".eWeek.com.ZiffDavisHoldings.Retrieved24September2011.
101. "UsagestatisticsandmarketshareofPythonforwebsites".2012.Retrieved18December2012.
102. Oliphant,Travis(2007)."PythonforScientificComputing".ComputinginScienceandEngineering.
103. Millman,K.JarrodAivazis,Michael(2011)."PythonforScientistsandEngineers".ComputinginScienceandEngineering13(2):912.
https://en.wikipedia.org/wiki/Python_(programming_language)

18/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

104. "InstallersforGIMPforWindowsFrequentlyAskedQuestions".26July2013.Retrieved26July2013.
105. "jascpsp9components".Archivedfromtheoriginalon23April2014.
106. "Aboutgettingstartedwithwritinggeoprocessingscripts".ArcGISDesktopHelp9.2.EnvironmentalSystemsResearchInstitute.17November2006.Retrieved
11February2012.
107. CCPporkbelly(24August2010)."StacklessPython2.7".EVECommunityDevBlogs.CCPGames."Asyoumayknow,EVEhasatitscoretheprogramming
languageknownasStacklessPython."
108. Caudill,Barry(20September2005)."ModdingSidMeier'sCivilizationIV".SidMeier'sCivilizationIVDeveloperBlog.FiraxisGames.Archivedfromthe
originalon10August2010."wecreatedthreelevelsoftools...ThenextleveloffersPythonandXMLsupport,lettingmodderswithmoreexperiencemanipulate
thegameworldandeverythinginit."
109. "PythonLanguageGuide(v1.0)".GoogleDocumentsListDataAPIv1.0.Google.Archivedfromtheoriginalon10August2010.
110. "PythonforArtificialIntelligence".Wiki.python.org.19July2012.Archivedfromtheoriginalon1November2012.Retrieved3December2012.
111. Paine,Jocelyn,ed.(August2005)."AIinPython".AIExpertNewsletter(Amzi!).Retrieved11February2012.
112. "PyAIML0.8.5:PythonPackageIndex".Pypi.python.org.Retrieved17July2013.
113. Russell,StuartJ.&Norvig,Peter(2009).ArtificialIntelligence:AModernApproach(3rded.).UpperSaddleRiver,NJ:PrenticeHall.p.1062.ISBN978013
6042594.Retrieved11February2012.
114. "NaturalLanguageToolkit".
115. "Immunity:KnowingYou'reSecure".
116. "Corelabssite".
117. "WhatisSugar?".SugarLabs.Retrieved11February2012.
118. "4.0NewFeaturesandFixes".LibreOffice.org.TheDocumentFoundation.2013.Retrieved25February2013.
119. "GotchasforPythonUsers".boo.codehaus.org.CodehausFoundation.Retrieved24November2008.
120. Esterbrook,Charles."Acknowledgements".cobralanguage.com.CobraLanguage.Retrieved7April2010.
121. Esterbrook,Charles."ComparisontoPython".cobralanguage.com.CobraLanguage.Retrieved7April2010.
122. "Proposals:iteratorsandgenerators[ES4Wiki]".wiki.ecmascript.org.Retrieved24November2008.
123. Kincaid,Jason(10November2009)."GooglesGo:ANewProgrammingLanguageThatsPythonMeetsC++".TechCrunch.Retrieved29January2010.
124. Strachan,James(29August2003)."GroovythebirthofanewdynamiclanguagefortheJavaplatform".
125. Lin,Mike."TheWhitespaceThingforOCaml".MassachusettsInstituteofTechnology.Retrieved12April2009.
126. "AnInterviewwiththeCreatorofRuby".Linuxdevcenter.com.Retrieved3December2012.
127. Lattner,Chris(3June2014)."ChrisLattner'sHomepage".ChrisLattner.Retrieved3June2014."IstartedworkontheSwiftProgrammingLanguageinJulyof
2010.Iimplementedmuchofthebasiclanguagestructure,withonlyafewpeopleknowingofitsexistence.Afewother(amazing)peoplestartedcontributingin
earnestlatein2011,anditbecameamajorfocusfortheAppleDeveloperToolsgroupinJuly2013[...]drawingideasfromObjectiveC,Rust,Haskell,Ruby,
Python,C#,CLU,andfartoomanyotherstolist."
128. Kupries,AndreasFellows,DonalK.(14September2000)."TIP#3:TIPFormat".tcl.tk.TclDeveloperXchange.Retrieved24November2008.
129. Gustafsson,PerNiskanen,Raimo(29January2007)."EEP1:EEPPurposeandGuidelines".erlang.org.Retrieved19April2011.
130. "TIOBEProgrammingCommunityIndexforMarch2012".TIOBESoftware.March2012.Retrieved25March2012.

Furtherreading
https://en.wikipedia.org/wiki/Python_(programming_language)

19/20

12/25/2015

Python(programminglanguage)Wikipedia,thefreeencyclopedia

Downey,AllenB(May2012).ThinkPython:HowtoThinkLikeaComputerScientist(Version1.6.6ed.).ISBN9780521725965.
Hamilton,Naomi(5August2008)."TheAZofProgrammingLanguages:Python".Computerworld.Retrieved31March2010.
Lutz,Mark(2013).LearningPython(5thed.).O'ReillyMedia.ISBN9780596158064.
Pilgrim,Mark(2004).DiveIntoPython.Apress.ISBN9781590593561.
Pilgrim,Mark(2009).DiveIntoPython3.Apress.ISBN9781430224150.
Summerfield,Mark(2009).ProgramminginPython3(2nded.).AddisonWesleyProfessional.ISBN9780321680563.

Externallinks
Officialwebsite(http://www.python.org)
Python(programminglanguage)(news://comp.lang.python)newsgrouponUsenet(alternativefreewebaccess
(https://groups.google.com/group/comp.lang.python)usingGoogleGroups)
TheHistoryofPython(blogbyGuidovanRossum)(http://pythonhistory.blogspot.co.uk/)
Pythondevelopmentlist(https://mail.python.org/mailman/listinfo/pythonlist)
Python(https://www.dmoz.org/Computers/Programming/Languages/Python)atDMOZ
Retrievedfrom"https://en.wikipedia.org/w/index.php?title=Python_(programming_language)&oldid=695757119"
Categories: Classbasedprogramminglanguages Crossplatformfreesoftware Dutchinventions Dynamicallytypedprogramminglanguages
Educationalprogramminglanguages Highlevelprogramminglanguages Objectorientedprogramminglanguages
Programminglanguagescreatedin1991 Python(programminglanguage) Scriptinglanguages Textorientedprogramminglanguages
Thispagewaslastmodifiedon18December2015,at10:20.
TextisavailableundertheCreativeCommonsAttributionShareAlikeLicenseadditionaltermsmayapply.Byusingthissite,youagreetothe
TermsofUseandPrivacyPolicy.WikipediaisaregisteredtrademarkoftheWikimediaFoundation,Inc.,anonprofitorganization.

https://en.wikipedia.org/wiki/Python_(programming_language)

20/20

Vous aimerez peut-être aussi