Python 2 vs. Python 3: Nyckelskillnad mellan 2.x och 3.x

Vad รคr Python 2?

Python 2 gjort kodutvecklingsprocessen enklare รคn tidigare versioner. Den implementerade tekniska detaljer fรถr Python Enhancement Proposal (PEP). Python 2.7 (senaste versionen i 2.x ) รคr inte lรคngre under utveckling och kommer att avvecklas 2020.

Vad รคr Python 3?

Python 3 รคr en nyare version av Python programmeringssprรฅk som slรคpptes i december 2008. Denna version slรคpptes frรคmst fรถr att fixa problem som finns i Python 2. Naturen av dessa fรถrรคndringar รคr sรฅdan att Python 3 var inkompatibel med Python 2. Det รคr bakรฅt inkompatibel.

Vissa funktioner i Python 3 har backporterats till Python 2.x-versioner fรถr att gรถra migreringsprocessen enkel i Python 3. Som ett resultat, fรถr alla organisationer som anvรคnde Python 2.x-versionen, att migrera deras projekt till 3.x behรถvde mรฅnga รคndringar. Dessa fรถrรคndringar gรคller inte bara projekt och applikationer utan รคven alla bibliotek som ingรฅr i Python ekosystem.

NYCKELSKILL

  • Python 3 syntax รคr enklare och lรคtt att fรถrstรฅ medan Python 2 syntax รคr jรคmfรถrelsevis svรฅr att fรถrstรฅ.
  • Python 3 standardlagring av strรคngar รคr Unicode medan Python 2 butiker mรฅste definiera Unicode-strรคngvรคrde med "u."
  • Python 3 vรคrdet pรฅ variabler รคndras aldrig medan i Python 2-vรคrdet fรถr den globala variabeln kommer att รคndras nรคr den anvรคnds i for-loop.
  • Python 3 undantag ska stรฅ inom parentes medan Python 2 undantag bรถr bifogas i beteckningar.
  • Python 3 regler fรถr ordningsjรคmfรถrelser fรถrenklas medan Python 2 regler fรถr ordningsjรคmfรถrelse รคr komplexa.
  • Python 3 erbjuder Range() funktion fรถr att utfรถra iterationer medan In Python 2 anvรคnds xrange() fรถr iterationer.

Varfรถr ska du lรคra dig Python 2?

Python 2 vs. Python
Google Trender Python 2 vs Python 3

Fastรคn, Python 2 รคr en gammal version med รถppen kรคllkod hรคr รคr dรคr du fortfarande behรถver lรคra dig Python 2:

  • Fรถr att bli en DevOps-ingenjรถr mรฅste du arbeta med konfigurationshanteringsverktyg som marionett eller ansible. Hรคr mรฅste du arbeta med bรฅda dessa versioner.
  • Om ditt fรถretags kod รคr inskriven Python 2 kommer du att behรถva lรคra dig att arbeta med det
  • Om ditt utvecklingsteam arbetar med ett projekt som รคr beroende av specifika tredjepartsbibliotek eller programvara som du inte kan porta till Python 3, dรฅ Python 2 รคr det enda tillgรคngliga alternativet fรถr dig.

Varfรถr ska du anvรคnda Python 3?

Lรคr Python 3

Stack Overflow-frรฅgor Python 2 vs Python 3

Hรคr รคr de frรคmsta anledningarna till att anvรคnda Python 3.x-versioner:

  • Python 3 stรถder moderna tekniker som AI, maskininlรคrning och datavetenskap
  • Python 3 stรถds av en stor Python utvecklarens community. Det รคr lรคtt att fรฅ support.
  • Det รคr lรคttare att lรคra sig Python sprรฅk jรคmfรถrt med tidigare versioner.
  • Erbjuder kraftfull verktygslรฅda och bibliotek
  • Kan blandas med andra sprรฅk

Historien om Python 2

  • Python 2.0 โ€“ 16 oktober 2000
  • Python 2.1 โ€“ 17 april 2001
  • Python 2.2 โ€“ 21 december 2001
  • Python 2.3 โ€“ 29 juli 2003
  • Python 2.4 โ€“ 30 november 2004
  • Python 2.5 โ€“ 19 september 2006
  • Python 2.6 โ€“ 1 oktober 2008
  • Python 2.7โ€“3 juli 2010

Historien om Python 3

  • Python 3.0 โ€“ 3 december 2008
  • Python 3.1 โ€“ 27 juni 2009
  • Python 3.2 - 20 februari 2011
  • Python 3.3 โ€“ 29 september 2012
  • Python 3.4โ€“16 mars 2014
  • Python 3.5 โ€“ 13 september 2015
  • Python 3.6โ€“ oktober 2016
  • Python 3.7โ€“ juni 2018.

Viktiga skillnader mellan Python 2 och Python 3

Hรคr รคr den stรถrsta skillnaden mellan Python 2 och Python 3:

Skillnad mellan Python 2.x och Python 3.x

Skillnad mellan Python 2.x och Python 3.x

Jรคmfรถrelsegrund Python 3 Python 2
Utgivningsdatum 2008 2000
Funktionstryck print ("hej") skriv ut "hej"
Uppdelning av heltal Nรคr tvรฅ heltal delas fรฅr du ett flytvรคrde Nรคr tvรฅ heltal delas anger du alltid heltalsvรคrde.
Unicode In Python 3, standardlagring av strรคngar รคr Unicode. Fรถr att lagra Unicode-strรคngvรคrden mรฅste du definiera dem med "u".
syntax Syntaxen รคr enklare och lรคtt att fรถrstรฅ. Syntaxen fรถr Python 2 var jรคmfรถrelsevis svรฅr att fรถrstรฅ.
Regler fรถr bestรคllning av jรคmfรถrelser I denna version har Regler fรถr bestรคllningsjรคmfรถrelser fรถrenklats. Regler fรถr bestรคllningsjรคmfรถrelse รคr mycket komplexa.
iteration Den nya Range()-funktionen introducerad fรถr att utfรถra iterationer. In Python 2 anvรคnds xrange() fรถr iterationer.
undantag Den ska stรฅ inom parentes. Det bรถr omges av notationer.
Lรคckage av variabler Variablernas vรคrde fรถrรคndras aldrig. Vรคrdet pรฅ den globala variabeln kommer att รคndras nรคr den anvรคnds i for-loop.
Bakรฅtkompatibilitet Inte svรฅrt att porta python 2 till python 3 men det รคr aldrig tillfรถrlitligt. Python version 3 รคr inte bakรฅtkompatibel med Python 2.
Bibliotek Mรฅnga nya utvecklare skapar bibliotek som du bara kan anvรคnda med Python 3. Mรฅnga รคldre bibliotek skapade fรถr Python 2 รคr inte framรฅtkompatibel.

Python 2 vs Python 3 Exempelkod

Python 3

def main():
  print("Hello World!")
  
if __name__== "__main__":
  main()

Python 2

def main():
  print "Hello World!"
  
if __name__== "__main__":
  main()

Som Python Version att anvรคnda?

Nรคr det gรคller att Python 2 vs Python 3 skillnader idag, Python 3-versionen รคr den direkta vinnaren. Det รคr fรถr att Python 2 kommer inte att vara tillgรคnglig efter 2020. Mรคssa Python 3 antagande รคr den tydliga riktningen fรถr framtiden.

Efter att ha รถvervรคgt att tacka nej till stรถd fรถr Python 2 programmeringssprรฅk och extra fรถrdelar frรฅn uppgraderingar till Python 3, รคr det alltid tillrรฅdligt fรถr en ny utvecklare att vรคlja Python version 3. Men om ett jobb krรคver Python 2-funktioner, det skulle vara en enda รถvertygande anledning att anvรคnda den hรคr versionen.

Sammanfattning

  • Python 2 gjorde kodutvecklingsprocessen enklare รคn tidigare versioner. Den implementerade tekniska detaljer fรถr Python Enhancement Proposal (PEP). Python 2.7 (senaste versionen i 2.x ) รคr inte lรคngre under utveckling och kommer att avvecklas 2020.
  • Python 3 รคr en nyare version av Python programmeringssprรฅk som slรคpptes i december 2008. Denna version slรคpptes frรคmst fรถr att fixa problem som finns i Python 2. Naturen av dessa fรถrรคndringar รคr sรฅdan att Python 3 var inkompatibel med Python 2. Det รคr bakรฅtkompatibelt.
  • In Python 2, Regler fรถr ordningsjรคmfรถrelser har fรถrenklats.
  • In Python 3, Regler fรถr ordningsjรคmfรถrelser รคr mycket komplexa.
  • Nรคr det gรคller att Python 2 mot 3 skillnader idag, Python 3-versionen รคr den direkta vinnaren.

Sammanfatta detta inlรคgg med: