[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-vwhLL4oXDLTJBvCydoDUYmz8Il8V004IwAQSl0Luf9w":3,"sanity-N57NHekEafaj_Gdg5u1We5_pLAQ6LL_lI5tvWvv9Dd8":1390},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":1365},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"7ebd76d2-cebc-4b88-82f9-3dfb2c8bc5ca","2026-07-08T04:40:00.000Z",{"_type":10,"current":11},"slug","what-s-left-for-infrastructure-as-code-after-ai-moves-in",true,"What's left for infrastructure-as-code after AI moves in?",[15,21,27,33],{"_id":16,"publishedAt":17,"slug":18,"title":20},"eb5b66eb-9410-4329-83bb-22bbff39402a","2026-04-28T13:00:00.000Z",{"_type":10,"current":19},"turn-scattered-knowledge-into-trusted-intelligence","Turning scattered knowledge into trusted intelligence: Stack Internal 2026.3",{"_id":22,"publishedAt":23,"slug":24,"title":26},"369c2401-b62e-4a37-8ff8-bf603023ecad","2026-03-02T15:03:00.988Z",{"_type":10,"current":25},"what-s-new-at-stack-overflow-march-2026","What’s new at Stack Overflow: March 2026",{"_id":28,"publishedAt":29,"slug":30,"title":32},"5e9053a4-07ea-447c-91ea-29e0b6228537","2026-02-02T15:00:00.000Z",{"_type":10,"current":31},"what-s-new-at-stack-overflow-february-2026","What’s new at Stack Overflow: February 2026",{"_id":34,"publishedAt":35,"slug":36,"title":38},"a1b538eb-a8a6-46d0-80a1-ac70ec9bb935","2026-01-05T10:00:00.000-05:00",{"_type":10,"current":37},"what-s-new-at-stack-overflow-january-2026","What’s new at Stack Overflow: January 2026",{"_createdAt":40,"_id":41,"_rev":42,"_type":43,"_updatedAt":44,"author":45,"body":61,"comments":12,"dateUrl":1335,"excerpt":1336,"image":1337,"legacyBody":1340,"product":94,"publishedAt":1343,"slug":1344,"sponsored":94,"tags":1346,"title":1364,"visible":12},"2023-05-25T09:39:18Z","wp-post-18440","9HpbCsT2tq0xwozQfkgFsd","blogPost","2023-07-13T14:56:01Z",[46],{"_createdAt":47,"_id":48,"_rev":49,"_type":50,"_updatedAt":51,"avatar":52,"employee":57,"name":58,"slug":59},"2023-05-23T16:27:18Z","wp-author-226","dgl3SCUzppW3U2LvCoOzcS","blogAuthor","2023-06-20T15:05:06Z",{"_type":53,"asset":54},"image",{"_ref":55,"_type":56},"image-56688f6337dd0a96034dfc998cdecc7810597d81-1024x1024-png","reference","current","Ryan Donovan",{"current":60},"rdonovan",[62,74,95,100,114,152,193,203,207,218,259,289,297,323,342,350,359,378,403,422,449,457,476,506,514,532,551,635,643,706,714,722,746,776,784,792,811,832,840,848,866,874,882,901,919,938,955,963,978,993,1012,1031,1050,1065,1073,1088,1103,1122,1141,1149,1168,1171,1190,1204,1206,1214,1229,1243,1251,1270,1289,1304,1308,1327],{"_key":63,"_type":64,"children":65,"markDefs":72,"style":73},"4d77a996dc08","block",[66],{"_key":67,"_type":68,"marks":69,"text":71},"4d77a996dc080","span",[70],"em","In this series, we look at the most loved languages according to the Stack Overflow developer survey, examine the spread and use cases for each of them, and collect some essential links on how to get started using the language. Up now, #3 on our list: Python.",[],"normal",{"_key":75,"_type":64,"children":76,"markDefs":90,"style":73},"43955e76c2fa",[77,81,86],{"_key":78,"_type":68,"marks":79,"text":80},"43955e76c2fa0",[],"Python is consistently featured amongst the top ",{"_key":82,"_type":68,"marks":83,"text":85},"43955e76c2fa1",[84],"5ba309af174e","most loved languages",{"_key":87,"_type":68,"marks":88,"text":89},"43955e76c2fa2",[]," in our Developer Survey. In 2020, 66.7% of respondents said they want to keep working with Python. Conceived in the late 80s, it’s one of the older languages on our list, coming just below newcomers Rust (2010) and TypeScript (2012)—evidence that original designer Guido van Rossum got a lot right.",[91],{"_key":84,"_type":92,"href":93,"reference":94},"link","https:\u002F\u002Finsights.stackoverflow.com\u002Fsurvey\u002F2020#technology-most-loved-dreaded-and-wanted-languages-loved",null,{"_key":96,"_type":53,"alt":94,"asset":97,"caption":99,"markDefs":94},"c93638287b53",{"_ref":98,"_type":56},"image-5c4c000a892fee366b01c1e614a0668c9864f231-1226x1600-png","",{"_key":101,"_type":64,"children":102,"markDefs":112,"style":73},"5cab3436b249",[103,107],{"_key":104,"_type":68,"marks":105,"text":106},"5cab3436b2490",[70],"Most loved languages in 2020 in the ",{"_key":108,"_type":68,"marks":109,"text":111},"5cab3436b2491",[110,70],"110bd8f8c759","Developer Survey",[113],{"_key":110,"_type":92,"href":93,"reference":94},{"_key":115,"_type":64,"children":116,"markDefs":147,"style":73},"7dbab4ff2ad0",[117,121,126,130,134,138,143],{"_key":118,"_type":68,"marks":119,"text":120},"7dbab4ff2ad00",[],"Python’s ",{"_key":122,"_type":68,"marks":123,"text":125},"7dbab4ff2ad01",[124],"5cd0aed1d6d3","quirky name",{"_key":127,"_type":68,"marks":128,"text":129},"7dbab4ff2ad02",[],"—in honor of the cult comedy show, ",{"_key":131,"_type":68,"marks":132,"text":133},"7dbab4ff2ad03",[70],"Monty Python",{"_key":135,"_type":68,"marks":136,"text":137},"7dbab4ff2ad04",[],"—belies the fact that this is a hugely expressive language. While it’s not primarily used for performance-intensive programming, it’s often highly efficient to write, and programs tend to be clear and readable. This makes it ideally suited for applications like ",{"_key":139,"_type":68,"marks":140,"text":142},"7dbab4ff2ad05",[141],"937b8d3d8da8","data science",{"_key":144,"_type":68,"marks":145,"text":146},"7dbab4ff2ad06",[]," and web development, and it’s used in a wide range of fields, from healthcare and finance to VFX and AI.",[148,150],{"_key":124,"_type":92,"href":149,"reference":94},"https:\u002F\u002Fdocs.python.org\u002F3\u002Ffaq\u002Fgeneral.html#why-is-it-called-python",{"_key":141,"_type":92,"href":151,"reference":94},"https:\u002F\u002Fstackoverflow.blog\u002F2017\u002F09\u002F14\u002Fpython-growing-quickly\u002F",{"_key":153,"_type":64,"children":154,"markDefs":186,"style":73},"899043f78d85",[155,159,164,168,173,177,182],{"_key":156,"_type":68,"marks":157,"text":158},"899043f78d850",[],"Some regard it as ",{"_key":160,"_type":68,"marks":161,"text":163},"899043f78d851",[162],"5afbcf55875d","an ideal language for beginners",{"_key":165,"_type":68,"marks":166,"text":167},"899043f78d852",[],": many terms are expressed using English words rather than symbols, its strict rules about ",{"_key":169,"_type":68,"marks":170,"text":172},"899043f78d853",[171],"f3ae90329c33","whitespace",{"_key":174,"_type":68,"marks":175,"text":176},"899043f78d854",[]," mean all programs are visually consistent, and code written in Python is often more ",{"_key":178,"_type":68,"marks":179,"text":181},"899043f78d855",[180],"5b899ea36027","concise",{"_key":183,"_type":68,"marks":184,"text":185},"899043f78d856",[]," than the equivalent in other languages.",[187,189,191],{"_key":162,"_type":92,"href":188,"reference":94},"https:\u002F\u002Fwww.python.org\u002Fabout\u002Fgettingstarted\u002F",{"_key":171,"_type":92,"href":190,"reference":94},"https:\u002F\u002Fwww.python.org\u002Fdev\u002Fpeps\u002Fpep-0008\u002F#whitespace-in-expressions-and-statements",{"_key":180,"_type":92,"href":192,"reference":94},"https:\u002F\u002Fwww.geeksforgeeks.org\u002Fcomparison-of-python-with-other-programming-languages\u002F",{"_key":194,"_type":64,"children":195,"markDefs":201,"style":202},"92e79f469def",[196],{"_key":197,"_type":68,"marks":198,"text":200},"92e79f469def0",[199],"strong","History of use",[],"h2",{"_key":204,"_type":53,"alt":94,"asset":205,"caption":99,"markDefs":94},"b8b394687f2b",{"_ref":206,"_type":56},"image-9f4c3fead99c0945011b2d984825da2c177d9bed-735x504-png",{"_key":208,"_type":64,"children":209,"markDefs":215,"style":73},"8b44be8d1c02",[210],{"_key":211,"_type":68,"marks":212,"text":214},"8b44be8d1c020",[213],"44bb92067633","Trending tags on Stackoverflow.com",[216],{"_key":213,"_type":92,"href":217,"reference":94},"https:\u002F\u002Finsights.stackoverflow.com\u002Ftrends?tags=python",{"_key":219,"_type":64,"children":220,"markDefs":252,"style":73},"92156edab687",[221,225,230,234,239,243,248],{"_key":222,"_type":68,"marks":223,"text":224},"92156edab6870",[],"Although Python has been around since the 1.0 release in 1991, its usage has ballooned in recent years. Indeed, as our former data scientist David Robinson ",{"_key":226,"_type":68,"marks":227,"text":229},"92156edab6871",[228],"e8288c1cba3d","noted",{"_key":231,"_type":68,"marks":232,"text":233},"92156edab6872",[],", since 2012, it has risen above the five other major languages (C++, PHP, Java, JavaScript and C#) in usage as estimated by the number of Stack Overflow question views per month. ",{"_key":235,"_type":68,"marks":236,"text":238},"92156edab6873",[237],"8ba0af8b47d0","TIOBE’s 2021 index",{"_key":240,"_type":68,"marks":241,"text":242},"92156edab6874",[]," ranks Python as third in popularity at 10.86%, rapidly gaining on C and Java (16.34% and 11.29% respectively). Today, 44 % of ",{"_key":244,"_type":68,"marks":245,"text":247},"92156edab6875",[246],"15f3ec7a0357","developers",{"_key":249,"_type":68,"marks":250,"text":251},"92156edab6876",[]," and technologists around the world are using Python.",[253,255,257],{"_key":228,"_type":92,"href":254,"reference":94},"https:\u002F\u002Fstackoverflow.blog\u002F2017\u002F09\u002F06\u002Fincredible-growth-python\u002F",{"_key":237,"_type":92,"href":256,"reference":94},"https:\u002F\u002Fwww.tiobe.com\u002Ftiobe-index\u002F",{"_key":246,"_type":92,"href":258,"reference":94},"https:\u002F\u002Finsights.stackoverflow.com\u002Fsurvey\u002F2020#technology",{"_key":260,"_type":64,"children":261,"markDefs":284,"style":73},"1f39e9c0a2b8",[262,266,271,275,280],{"_key":263,"_type":68,"marks":264,"text":265},"1f39e9c0a2b80",[],"Until recently the language design and development was lead by a single person—Dutch computer scientist ",{"_key":267,"_type":68,"marks":268,"text":270},"1f39e9c0a2b81",[269],"023db863c940","Guido van Rossum",{"_key":272,"_type":68,"marks":273,"text":274},"1f39e9c0a2b82",[],", who stepped down as Python’s “Benevolent Dictator For Life” in 2018 but has remained an active contributor to this ",{"_key":276,"_type":68,"marks":277,"text":279},"1f39e9c0a2b83",[278],"64517ce3c2a1","day",{"_key":281,"_type":68,"marks":282,"text":283},"1f39e9c0a2b84",[],".",[285,287],{"_key":269,"_type":92,"href":286,"reference":94},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGuido_van_Rossum",{"_key":278,"_type":92,"href":288,"reference":94},"https:\u002F\u002Fgithub.com\u002Fpython\u002Fcpython\u002Fgraphs\u002Fcontributors",{"_key":290,"_type":64,"children":291,"markDefs":296,"style":202},"bf66b07c577f",[292],{"_key":293,"_type":68,"marks":294,"text":295},"bf66b07c577f0",[199],"Who is using it?",[],{"_key":298,"_type":64,"children":299,"markDefs":320,"style":73},"583b2d360573",[300,304,308,312,317],{"_key":301,"_type":68,"marks":302,"text":303},"583b2d3605730",[],"Python is more or less ubiquitous—it would be faster to list industries that ",{"_key":305,"_type":68,"marks":306,"text":307},"583b2d3605731",[70],"don’t",{"_key":309,"_type":68,"marks":310,"text":311},"583b2d3605732",[]," use it in some form. While it’s not the language of choice for consumer applications like 3D games or mobile apps, even companies developing these applications frequently use Python for tools and utilities. It is also commonly embedded into software products for automation and scripting purposes—for example, in the VFX field, nearly all of the major software packages (Maya, 3Ds Max, Houdini, Cinema 4D, Blender, and Nuke) have embedded Python interpreters, allowing users to add functionality or automate tasks. It’s used more or less everywhere on Earth and, well, ",{"_key":313,"_type":68,"marks":314,"text":316},"583b2d3605733",[315],"6f951acf3bc2","even on Mars",{"_key":318,"_type":68,"marks":319,"text":283},"583b2d3605734",[],[321],{"_key":315,"_type":92,"href":322,"reference":94},"https:\u002F\u002Fnasa.github.io\u002Ffprime\u002F",{"_key":324,"_type":64,"children":325,"markDefs":339,"style":73},"ffb3d3400cf5",[326,330,335],{"_key":327,"_type":68,"marks":328,"text":329},"ffb3d3400cf50",[],"In fact, if you’re reading this on a Mac, you already have Python ",{"_key":331,"_type":68,"marks":332,"text":334},"ffb3d3400cf51",[333],"56f37f366ac1","installed",{"_key":336,"_type":68,"marks":337,"text":338},"ffb3d3400cf52",[]," on your computer—just go to Terminal, type ‘python’, and away you go...",[340],{"_key":333,"_type":92,"href":341,"reference":94},"https:\u002F\u002Fapple.stackexchange.com\u002Fquestions\u002F406244\u002Fwill-macos-big-sur-remove-the-default-python-installation-for-good",{"_key":343,"_type":64,"children":344,"markDefs":349,"style":202},"34485baefc5b",[345],{"_key":346,"_type":68,"marks":347,"text":348},"34485baefc5b0",[199],"Who is it for?",[],{"_key":351,"_type":64,"children":352,"markDefs":357,"style":358},"2909524ec9ee",[353],{"_key":354,"_type":68,"marks":355,"text":356},"2909524ec9ee0",[199],"Students",[],"h3",{"_key":360,"_type":64,"children":361,"markDefs":375,"style":73},"79504376d0bd",[362,366,371],{"_key":363,"_type":68,"marks":364,"text":365},"79504376d0bd0",[],"The use of short English keywords instead of symbols makes Python particularly friendly for beginners. See the ",{"_key":367,"_type":68,"marks":368,"text":370},"79504376d0bd1",[369],"6557fec6040b","example",{"_key":372,"_type":68,"marks":373,"text":374},"79504376d0bd2",[]," below.",[376],{"_key":369,"_type":92,"href":377,"reference":94},"https:\u002F\u002Fpythonconquerstheuniverse.wordpress.com\u002F2009\u002F10\u002F03\u002Fpython-java-a-side-by-side-comparison\u002F",{"_key":379,"_type":64,"children":380,"markDefs":402,"style":73},"b3048c033364",[381,385,390,394,398],{"_key":382,"_type":68,"marks":383,"text":384},"b3048c0333640",[],"PythonJava# print the integers from 1 to 9\nfor i in ",{"_key":386,"_type":68,"marks":387,"text":389},"b3048c0333641",[388],"code","range(1,10):",{"_key":391,"_type":68,"marks":392,"text":393},"b3048c0333642",[],"\n",{"_key":395,"_type":68,"marks":396,"text":397},"b3048c0333643",[388],"print i",{"_key":399,"_type":68,"marks":400,"text":401},"b3048c0333644",[],"\u002F\u002F print the integers from 1 to 9\nfor (int i = 1; i \u003C 10; i++){\nSystem.out.println(i);\n}",[],{"_key":404,"_type":64,"children":405,"markDefs":419,"style":73},"ac1abfab9211",[406,410,415],{"_key":407,"_type":68,"marks":408,"text":409},"ac1abfab92110",[],"Additionally, Python handles a lot of memory management ",{"_key":411,"_type":68,"marks":412,"text":414},"ac1abfab92111",[413],"2c8fda6087f0","automatically",{"_key":416,"_type":68,"marks":417,"text":418},"ac1abfab92112",[],", so you’ll spend less time dealing with pointers and references and so on than in a language like C++.",[420],{"_key":413,"_type":92,"href":421,"reference":94},"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F11596371\u002Fhow-does-python-memory-management-work",{"_key":423,"_type":64,"children":424,"markDefs":446,"style":73},"4057fbc59ec7",[425,429,434,438,442],{"_key":426,"_type":68,"marks":427,"text":428},"4057fbc59ec70",[],"It comes bundled with a free IDE (integrated development environment), ",{"_key":430,"_type":68,"marks":431,"text":433},"4057fbc59ec71",[432],"3aa415c68af6","IDLE",{"_key":435,"_type":68,"marks":436,"text":437},"4057fbc59ec72",[],", so you can get started quickly. In case you’re wondering, yes, IDLE is a reference to ",{"_key":439,"_type":68,"marks":440,"text":441},"4057fbc59ec73",[70],"Monty Python’s ",{"_key":443,"_type":68,"marks":444,"text":445},"4057fbc59ec74",[],"Eric Idle—if you use Python you’re going to be bombarded with references to vintage British comedy.",[447],{"_key":432,"_type":92,"href":448,"reference":94},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIDLE",{"_key":450,"_type":64,"children":451,"markDefs":456,"style":358},"9be512f40e85",[452],{"_key":453,"_type":68,"marks":454,"text":455},"9be512f40e850",[199],"Developers who prioritize ease of programming over execution speed",[],{"_key":458,"_type":64,"children":459,"markDefs":473,"style":73},"02526c4277a7",[460,464,469],{"_key":461,"_type":68,"marks":462,"text":463},"02526c4277a70",[],"While Python typically runs slower than other common languages like C++ or Java, it’s often much quicker to write—indeed, ",{"_key":465,"_type":68,"marks":466,"text":468},"02526c4277a71",[467],"c0b494ceaace","some estimates suggest",{"_key":470,"_type":68,"marks":471,"text":472},"02526c4277a72",[]," a typical program in Python is three to five times shorter than its Java equivalent and five to ten times shorter than the C++ version.",[474],{"_key":467,"_type":92,"href":475,"reference":94},"https:\u002F\u002Fwww.python.org\u002Fdoc\u002Fessays\u002Fcomparisons\u002F",{"_key":477,"_type":64,"children":478,"markDefs":501,"style":73},"a9edbe6f2601",[479,483,488,492,497],{"_key":480,"_type":68,"marks":481,"text":482},"a9edbe6f26010",[],"This is one of the reasons it’s often used as a “support language”—software developers rely on it for ",{"_key":484,"_type":68,"marks":485,"text":487},"a9edbe6f26011",[486],"b3a273a1b922","tasks",{"_key":489,"_type":68,"marks":490,"text":491},"a9edbe6f26012",[]," like build control, automated testing, and bug tracking. For the same reason, it’s also used for ",{"_key":493,"_type":68,"marks":494,"text":496},"a9edbe6f26013",[495],"66dde2925edf","prototyping",{"_key":498,"_type":68,"marks":499,"text":500},"a9edbe6f26014",[],"—code can be “hacked together” quickly to test ideas, before perhaps rewriting in a more performant language.",[502,504],{"_key":486,"_type":92,"href":503,"reference":94},"https:\u002F\u002Fwww.python.org\u002Fabout\u002Fapps\u002F",{"_key":495,"_type":92,"href":505,"reference":94},"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F37084289\u002Fwhat-is-meant-by-prototyping-in-python",{"_key":507,"_type":64,"children":508,"markDefs":513,"style":358},"24e0ebd8ae28",[509],{"_key":510,"_type":68,"marks":511,"text":512},"24e0ebd8ae280",[199],"Developers working with text or numbers",[],{"_key":515,"_type":64,"children":516,"markDefs":529,"style":73},"2b9d5a77e0f8",[517,520,525],{"_key":518,"_type":68,"marks":519,"text":120},"2b9d5a77e0f80",[],{"_key":521,"_type":68,"marks":522,"text":524},"2b9d5a77e0f81",[523],"b33e806c1aa2","powerful",{"_key":526,"_type":68,"marks":527,"text":528},"2b9d5a77e0f82",[]," String and List manipulation functions make it a great choice for anyone working with text or numbers. And it’s a great tool for exploring data.",[530],{"_key":523,"_type":92,"href":531,"reference":94},"https:\u002F\u002Fpeople.duke.edu\u002F~ccc14\u002Fsta-663\u002FTextProcessingSolutions.html",{"_key":533,"_type":64,"children":534,"markDefs":548,"style":73},"489d752338c6",[535,539,544],{"_key":536,"_type":68,"marks":537,"text":538},"489d752338c60",[],"The fact that it doesn’t need compiling means you can rapidly iterate on a program, and, by running Python ",{"_key":540,"_type":68,"marks":541,"text":543},"489d752338c61",[542],"a418dda00704","interactively",{"_key":545,"_type":68,"marks":546,"text":547},"489d752338c62",[],", you can intuitively manipulate data step-by-step, examining it at each stage.",[549],{"_key":542,"_type":92,"href":550,"reference":94},"https:\u002F\u002Frealpython.com\u002Frun-python-scripts\u002F#:~:text=A%20widely%20used%20way%20to,installation%2C%20and%20then%20hit%20Enter%20.",{"_key":552,"_type":64,"children":553,"markDefs":620,"style":73},"176da8287314",[554,558,563,567,572,576,581,585,590,594,599,603,608,612,617],{"_key":555,"_type":68,"marks":556,"text":557},"176da82873140",[],"Python’s core functionality can be extended with a huge arsenal of ‘packages’, many of which are widely used by the scientific and academic communities, as well as fintech and engineering. These include the venerable ",{"_key":559,"_type":68,"marks":560,"text":562},"176da82873141",[561],"ee42c4342ace","NumPy",{"_key":564,"_type":68,"marks":565,"text":566},"176da82873142",[]," (mathematical functions and data analysis), ",{"_key":568,"_type":68,"marks":569,"text":571},"176da82873143",[570],"56cc18fa7b6e","SciPy",{"_key":573,"_type":68,"marks":574,"text":575},"176da82873144",[]," (for science), ",{"_key":577,"_type":68,"marks":578,"text":580},"176da82873145",[579],"ec2feeb78aa4","Matplotlib",{"_key":582,"_type":68,"marks":583,"text":584},"176da82873146",[]," (data visualization) and ",{"_key":586,"_type":68,"marks":587,"text":589},"176da82873147",[588],"236de0f1f9c7","Pandas",{"_key":591,"_type":68,"marks":592,"text":593},"176da82873148",[]," (data analysis), and more recently ",{"_key":595,"_type":68,"marks":596,"text":598},"176da82873149",[597],"b38b9607ce81","TensorFlow",{"_key":600,"_type":68,"marks":601,"text":602},"176da828731410",[]," and ",{"_key":604,"_type":68,"marks":605,"text":607},"176da828731411",[606],"098c0e9fb963","Keras",{"_key":609,"_type":68,"marks":610,"text":611},"176da828731412",[]," (Machine Learning\u002FAI), as well as ",{"_key":613,"_type":68,"marks":614,"text":616},"176da828731413",[615],"f8ed52dbe68c","tens of thousands of others",{"_key":618,"_type":68,"marks":619,"text":283},"176da828731414",[],[621,623,625,627,629,631,633],{"_key":561,"_type":92,"href":622,"reference":94},"https:\u002F\u002Fnumpy.org\u002F",{"_key":570,"_type":92,"href":624,"reference":94},"https:\u002F\u002Fwww.scipy.org\u002F",{"_key":579,"_type":92,"href":626,"reference":94},"http:\u002F\u002Fmatplotlib.org\u002F",{"_key":588,"_type":92,"href":628,"reference":94},"https:\u002F\u002Fpandas.pydata.org\u002F",{"_key":597,"_type":92,"href":630,"reference":94},"https:\u002F\u002Fwww.tensorflow.org\u002F",{"_key":606,"_type":92,"href":632,"reference":94},"https:\u002F\u002Fkeras.io\u002F",{"_key":615,"_type":92,"href":634,"reference":94},"https:\u002F\u002Fpypi.org\u002F",{"_key":636,"_type":64,"children":637,"markDefs":642,"style":358},"29a8ebfd4e47",[638],{"_key":639,"_type":68,"marks":640,"text":641},"29a8ebfd4e470",[199],"Web developers",[],{"_key":644,"_type":64,"children":645,"markDefs":695,"style":73},"bf3a2ecc068c",[646,650,655,659,664,668,673,677,682,686,691],{"_key":647,"_type":68,"marks":648,"text":649},"bf3a2ecc068c0",[],"Another key area of Python use is backend development. It has built-in support for common protocols like HTML, XML, and JSON, and frameworks like ",{"_key":651,"_type":68,"marks":652,"text":654},"bf3a2ecc068c1",[653],"b27e3ae5bc28","Django",{"_key":656,"_type":68,"marks":657,"text":658},"bf3a2ecc068c2",[],", ",{"_key":660,"_type":68,"marks":661,"text":663},"bf3a2ecc068c3",[662],"86d80676087b","Flask",{"_key":665,"_type":68,"marks":666,"text":667},"bf3a2ecc068c4",[],", and ",{"_key":669,"_type":68,"marks":670,"text":672},"bf3a2ecc068c5",[671],"c2e1935d9f5b","Bottle",{"_key":674,"_type":68,"marks":675,"text":676},"bf3a2ecc068c6",[]," are used widely—for example, ",{"_key":678,"_type":68,"marks":679,"text":681},"bf3a2ecc068c7",[680],"d2e237e699c7","Reddit",{"_key":683,"_type":68,"marks":684,"text":685},"bf3a2ecc068c8",[],"’s backend is Python. Python powers advanced content management, email ",{"_key":687,"_type":68,"marks":688,"text":690},"bf3a2ecc068c9",[689],"62ac3e3f95c4","automation",{"_key":692,"_type":68,"marks":693,"text":694},"bf3a2ecc068c10",[],", and more.",[696,698,700,702,704],{"_key":653,"_type":92,"href":697,"reference":94},"https:\u002F\u002Fwww.djangoproject.com\u002F",{"_key":662,"_type":92,"href":699,"reference":94},"https:\u002F\u002Fflask.palletsprojects.com\u002Fen\u002F1.1.x\u002F",{"_key":671,"_type":92,"href":701,"reference":94},"http:\u002F\u002Fbottlepy.org\u002Fdocs\u002Fdev\u002F",{"_key":680,"_type":92,"href":703,"reference":94},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002Flearnprogramming\u002Fcomments\u002F34d7cl\u002Fwhy_is_reddit_written_in_python_why_not_ruby_or\u002F",{"_key":689,"_type":92,"href":705,"reference":94},"https:\u002F\u002Ftowardsdatascience.com\u002Fautomate-email-with-python-1e755d9c6276",{"_key":707,"_type":64,"children":708,"markDefs":713,"style":202},"8dc59d1095f4",[709],{"_key":710,"_type":68,"marks":711,"text":712},"8dc59d1095f40",[199],"Why you shouldn't learn it",[],{"_key":715,"_type":64,"children":716,"markDefs":721,"style":73},"84ddb167f352",[717],{"_key":718,"_type":68,"marks":719,"text":720},"84ddb167f3520",[],"There’s a lot to like about Python, but it’s not always the perfect tool for the job.",[],{"_key":723,"_type":64,"children":724,"markDefs":745,"style":73},"528439c3e1f5",[725,729,733,737,741],{"_key":726,"_type":68,"marks":727,"text":728},"528439c3e1f50",[],"Perhaps most importantly, Python is an ",{"_key":730,"_type":68,"marks":731,"text":732},"528439c3e1f51",[70],"interpreted ",{"_key":734,"_type":68,"marks":735,"text":736},"528439c3e1f52",[],"language, as opposed to a ",{"_key":738,"_type":68,"marks":739,"text":740},"528439c3e1f53",[70],"compiled",{"_key":742,"_type":68,"marks":743,"text":744},"528439c3e1f54",[]," language like C++. While that means there’s no sitting around waiting for your code to compile, it also means the computer has to do extra work every time the program runs, inherently limiting performance. So you’re probably not going to be writing the next blockbuster 60FPS first-person shooter in Python, but it’s perfect for situations like data manipulation where you’re likely to spend more time writing the program than running it.",[],{"_key":747,"_type":64,"children":748,"markDefs":771,"style":73},"6454c315f751",[749,753,758,762,767],{"_key":750,"_type":68,"marks":751,"text":752},"6454c315f7510",[],"Additionally, Python’s somewhat unusual syntax means that—if it’s your first language—not all of the knowledge you gain will be transferable to other languages, although many of the underlying concepts are identical. For example, the reduced reliance on",{"_key":754,"_type":68,"marks":755,"text":757},"6454c315f7511",[756],"793a24d760c0"," brackets and braces",{"_key":759,"_type":68,"marks":760,"text":761},"6454c315f7512",[],", the use of English words instead of symbols, and the enforced usage of whitespace mean that a program in Python may be ",{"_key":763,"_type":68,"marks":764,"text":766},"6454c315f7513",[765],"19b999d75a1f","visually structured",{"_key":768,"_type":68,"marks":769,"text":770},"6454c315f7514",[]," in a very different way to the equivalent code in Java or C++.",[772,774],{"_key":756,"_type":92,"href":773,"reference":94},"https:\u002F\u002Flerner.co.il\u002F2018\u002F06\u002F08\u002Fpython-parentheses-primer\u002F",{"_key":765,"_type":92,"href":775,"reference":94},"http:\u002F\u002Frosettacode.org\u002Fwiki\u002FCategory:Python",{"_key":777,"_type":64,"children":778,"markDefs":783,"style":73},"acc7ceb95335",[779],{"_key":780,"_type":68,"marks":781,"text":782},"acc7ceb953350",[],"However, these downsides are often a small price to pay for the many benefits, as evidenced by its ubiquity.",[],{"_key":785,"_type":64,"children":786,"markDefs":791,"style":202},"c5913bd92f1e",[787],{"_key":788,"_type":68,"marks":789,"text":790},"c5913bd92f1e0",[199],"Key concepts",[],{"_key":793,"_type":64,"children":794,"markDefs":808,"style":73},"03fa4d5ae397",[795,799,804],{"_key":796,"_type":68,"marks":797,"text":798},"03fa4d5ae3970",[],"The core philosophies are summarized—in Pythonic fashion—in “",{"_key":800,"_type":68,"marks":801,"text":803},"03fa4d5ae3971",[802],"55bd53173f01","The Zen Of Python",{"_key":805,"_type":68,"marks":806,"text":807},"03fa4d5ae3972",[],".” These include:",[809],{"_key":802,"_type":92,"href":810,"reference":94},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FZen_of_Python",{"_key":812,"_type":64,"children":813,"level":827,"listItem":828,"markDefs":829,"style":73},"30122bb745b1",[814,818,823],{"_key":815,"_type":68,"marks":816,"text":817},"30122bb745b10",[],"“",{"_key":819,"_type":68,"marks":820,"text":822},"30122bb745b11",[821],"5f476888f94e","Readability",{"_key":824,"_type":68,"marks":825,"text":826},"30122bb745b12",[]," counts",1,"bullet",[830],{"_key":821,"_type":92,"href":831,"reference":94},"https:\u002F\u002Fdocs.python-guide.org\u002Fwriting\u002Fstyle\u002F",{"_key":833,"_type":64,"children":834,"level":827,"listItem":828,"markDefs":839,"style":73},"bf1460dcfd6b",[835],{"_key":836,"_type":68,"marks":837,"text":838},"bf1460dcfd6b0",[],"Simple is better than complex",[],{"_key":841,"_type":64,"children":842,"level":827,"listItem":828,"markDefs":847,"style":73},"4ac7047eb9cb",[843],{"_key":844,"_type":68,"marks":845,"text":846},"4ac7047eb9cb0",[],"There should be one—and preferably only one—obvious way to do it”",[],{"_key":849,"_type":64,"children":850,"markDefs":863,"style":73},"3e7f19613a0b",[851,855,860],{"_key":852,"_type":68,"marks":853,"text":854},"3e7f19613a0b0",[],"In case you were wondering, The Zen Of Python is available in catchy musical form ",{"_key":856,"_type":68,"marks":857,"text":859},"3e7f19613a0b1",[858],"b88338efbd0b","here",{"_key":861,"_type":68,"marks":862,"text":283},"3e7f19613a0b2",[],[864],{"_key":858,"_type":92,"href":865,"reference":94},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=i6G6dmVJy74",{"_key":867,"_type":64,"children":868,"markDefs":873,"style":202},"e05eda3d6701",[869],{"_key":870,"_type":68,"marks":871,"text":872},"e05eda3d67010",[199],"Resources",[],{"_key":875,"_type":64,"children":876,"markDefs":881,"style":358},"8c0d59d33f0b",[877],{"_key":878,"_type":68,"marks":879,"text":880},"8c0d59d33f0b0",[199],"Official",[],{"_key":883,"_type":64,"children":884,"level":827,"listItem":828,"markDefs":898,"style":73},"a7fc4810e7a4",[885,889,894],{"_key":886,"_type":68,"marks":887,"text":888},"a7fc4810e7a40",[],"The ",{"_key":890,"_type":68,"marks":891,"text":893},"a7fc4810e7a41",[892],"faf5342fa85c","official tutorial",{"_key":895,"_type":68,"marks":896,"text":897},"a7fc4810e7a42",[]," is a quick primer on all the basics, perfect for getting up and running quickly.",[899],{"_key":892,"_type":92,"href":900,"reference":94},"https:\u002F\u002Fdocs.python.org\u002F3\u002Ftutorial\u002F",{"_key":902,"_type":64,"children":903,"level":827,"listItem":828,"markDefs":916,"style":73},"82bb78313d28",[904,907,912],{"_key":905,"_type":68,"marks":906,"text":888},"82bb78313d280",[],{"_key":908,"_type":68,"marks":909,"text":911},"82bb78313d281",[910],"0efbf5e366bb","Python language reference",{"_key":913,"_type":68,"marks":914,"text":915},"82bb78313d282",[]," provides full documentation in a no-nonsense manner that is “terse, but attempts to be exact and complete.”",[917],{"_key":910,"_type":92,"href":918,"reference":94},"https:\u002F\u002Fdocs.python.org\u002F3\u002Freference\u002Findex.html",{"_key":920,"_type":64,"children":921,"level":827,"listItem":828,"markDefs":935,"style":73},"cccd6d021681",[922,926,931],{"_key":923,"_type":68,"marks":924,"text":925},"cccd6d0216810",[],"Following the official ",{"_key":927,"_type":68,"marks":928,"text":930},"cccd6d0216811",[929],"f25ca9edfd6c","PEP-8 Style Guide",{"_key":932,"_type":68,"marks":933,"text":934},"cccd6d0216812",[]," will make your code more readable to other programmers, including the most crucial audience of all—your future self.",[936],{"_key":929,"_type":92,"href":937,"reference":94},"https:\u002F\u002Fwww.python.org\u002Fdev\u002Fpeps\u002Fpep-0008\u002F",{"_key":939,"_type":64,"children":940,"level":827,"listItem":828,"markDefs":953,"style":73},"d0b6a3a6466a",[941,944,949],{"_key":942,"_type":68,"marks":943,"text":888},"d0b6a3a6466a0",[],{"_key":945,"_type":68,"marks":946,"text":948},"d0b6a3a6466a1",[947],"d502b42895e6","official site",{"_key":950,"_type":68,"marks":951,"text":952},"d0b6a3a6466a2",[]," also offers an enormous wealth of information, tutorials, and also features curated content in dozens of languages.",[954],{"_key":947,"_type":92,"href":188,"reference":94},{"_key":956,"_type":64,"children":957,"markDefs":962,"style":358},"931461e3ef80",[958],{"_key":959,"_type":68,"marks":960,"text":961},"931461e3ef800",[199],"Entry-level",[],{"_key":964,"_type":64,"children":965,"level":827,"listItem":828,"markDefs":975,"style":73},"44b2f0a58750",[966,971],{"_key":967,"_type":68,"marks":968,"text":970},"44b2f0a587500",[969],"57d3e43ad937","LearnPython.org",{"_key":972,"_type":68,"marks":973,"text":974},"44b2f0a587501",[]," offers a quick, well-thought-out series of basic lessons, and provides a friendly browser-based Python interface to experiment with.",[976],{"_key":969,"_type":92,"href":977,"reference":94},"https:\u002F\u002Fwww.learnpython.org\u002F",{"_key":979,"_type":64,"children":980,"level":827,"listItem":828,"markDefs":990,"style":73},"894a182ea76b",[981,986],{"_key":982,"_type":68,"marks":983,"text":985},"894a182ea76b0",[984],"9fecb5713532","Code The Blocks",{"_key":987,"_type":68,"marks":988,"text":989},"894a182ea76b1",[]," provides an engaging series of beginner exercises, using a browser-based Python interpreter to manipulate a 3D scene.",[991],{"_key":984,"_type":92,"href":992,"reference":94},"https:\u002F\u002Fcodetheblocks.com\u002Ftutorials\u002Fintroduction",{"_key":994,"_type":64,"children":995,"level":827,"listItem":828,"markDefs":1009,"style":73},"000dde713e3a",[996,1000,1005],{"_key":997,"_type":68,"marks":998,"text":999},"000dde713e3a0",[],"FreeCodeCamp.org offers a free ",{"_key":1001,"_type":68,"marks":1002,"text":1004},"000dde713e3a1",[1003],"30ba218b0d34","video course",{"_key":1006,"_type":68,"marks":1007,"text":1008},"000dde713e3a2",[]," that will take you from novice to intermediate in four hours.",[1010],{"_key":1003,"_type":92,"href":1011,"reference":94},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=rfscVS0vtbw",{"_key":1013,"_type":64,"children":1014,"level":827,"listItem":828,"markDefs":1028,"style":73},"c26121480c45",[1015,1019,1024],{"_key":1016,"_type":68,"marks":1017,"text":1018},"c26121480c450",[],"The classic ",{"_key":1020,"_type":68,"marks":1021,"text":1023},"c26121480c451",[1022],"f9c14fcca777","How to Think Like a Computer Scientist",{"_key":1025,"_type":68,"marks":1026,"text":1027},"c26121480c452",[]," is available in a Python 3 edition that will get you up to speed on Python syntax while providing insights that will be valuable in any language.",[1029],{"_key":1022,"_type":92,"href":1030,"reference":94},"https:\u002F\u002Fopenbookproject.net\u002Fthinkcs\u002Fpython\u002Fenglish3e\u002F",{"_key":1032,"_type":64,"children":1033,"level":827,"listItem":828,"markDefs":1047,"style":73},"9c9a2d786c42",[1034,1038,1043],{"_key":1035,"_type":68,"marks":1036,"text":1037},"9c9a2d786c420",[],"While not Python-exclusive, ",{"_key":1039,"_type":68,"marks":1040,"text":1042},"9c9a2d786c421",[1041],"aef29cfed131","Project Euler",{"_key":1044,"_type":68,"marks":1045,"text":1046},"9c9a2d786c422",[]," offers a set of challenges that are perfect for flexing your new-found Python muscles. The site is a sequence of over 700 mathematical puzzles, to which the answer is always a single integer, and the problems range from the trivial to the extremely difficult. You can of course find hints and tips on Stack Overflow—no cheating though!",[1048],{"_key":1041,"_type":92,"href":1049,"reference":94},"https:\u002F\u002Fprojecteuler.net\u002F",{"_key":1051,"_type":64,"children":1052,"level":827,"listItem":828,"markDefs":1062,"style":73},"99b755118d2d",[1053,1058],{"_key":1054,"_type":68,"marks":1055,"text":1057},"99b755118d2d0",[1056],"2a6474458dc7","Project Rosalind",{"_key":1059,"_type":68,"marks":1060,"text":1061},"99b755118d2d1",[]," offers a similarly structured set of problems—this time from the field of Bioinformatics—that function as both an introduction to Python and molecular biology.",[1063],{"_key":1056,"_type":92,"href":1064,"reference":94},"http:\u002F\u002Frosalind.info\u002Fabout\u002F",{"_key":1066,"_type":64,"children":1067,"markDefs":1072,"style":358},"54e1efeebe63",[1068],{"_key":1069,"_type":68,"marks":1070,"text":1071},"54e1efeebe630",[199],"Advanced",[],{"_key":1074,"_type":64,"children":1075,"level":827,"listItem":828,"markDefs":1085,"style":73},"ff80c5dfcd6c",[1076,1081],{"_key":1077,"_type":68,"marks":1078,"text":1080},"ff80c5dfcd6c0",[1079],"bcdd9bb3ea05","The Hitchhiker’s Guide to Python!",{"_key":1082,"_type":68,"marks":1083,"text":1084},"ff80c5dfcd6c1",[]," A hands-on guide for prob",[1086],{"_key":1079,"_type":92,"href":1087,"reference":94},"https:\u002F\u002Fdocs.python-guide.org",{"_key":1089,"_type":64,"children":1090,"level":827,"listItem":828,"markDefs":1100,"style":73},"9b021d6c62de",[1091,1096],{"_key":1092,"_type":68,"marks":1093,"text":1095},"9b021d6c62de0",[1094],"95e476e97c45","Moving To Python From Other Languages",{"_key":1097,"_type":68,"marks":1098,"text":1099},"9b021d6c62de1",[]," offers a quick guide to Python concepts and gotchas.",[1101],{"_key":1094,"_type":92,"href":1102,"reference":94},"https:\u002F\u002Fwiki.python.org\u002Fmoin\u002FMovingToPythonFromOtherLanguages",{"_key":1104,"_type":64,"children":1105,"level":827,"listItem":828,"markDefs":1119,"style":73},"e152488f9272",[1106,1110,1115],{"_key":1107,"_type":68,"marks":1108,"text":1109},"e152488f92720",[],"Rafe Kettler’s ",{"_key":1111,"_type":68,"marks":1112,"text":1114},"e152488f92721",[1113],"92bf96c82654","A Guide to Python’s Magic Methods",{"_key":1116,"_type":68,"marks":1117,"text":1118},"e152488f92722",[]," offers a detailed explanation of “Magic Methods”—the Python-specific built-in functions like `__init__()` that you may have been using without even thinking about",[1120],{"_key":1113,"_type":92,"href":1121,"reference":94},"https:\u002F\u002Fgithub.com\u002FRafeKettler\u002Fmagicmethods\u002Fblob\u002Fmaster\u002Fmagicmethods.pdf",{"_key":1123,"_type":64,"children":1124,"level":827,"listItem":828,"markDefs":1138,"style":73},"da618263b7cb",[1125,1129,1134],{"_key":1126,"_type":68,"marks":1127,"text":1128},"da618263b7cb0",[],"Python is generally considered to be simple to learn if you already understand the general concepts of programming… although ",{"_key":1130,"_type":68,"marks":1131,"text":1133},"da618263b7cb1",[1132],"00d028fd73ee","Learn Python in 10 Minutes",{"_key":1135,"_type":68,"marks":1136,"text":1137},"da618263b7cb2",[]," is a pretty bold claim!",[1139],{"_key":1132,"_type":92,"href":1140,"reference":94},"https:\u002F\u002Fwww.stavros.io\u002Ftutorials\u002Fpython\u002F",{"_key":1142,"_type":64,"children":1143,"markDefs":1148,"style":358},"8d2281781ea2",[1144],{"_key":1145,"_type":68,"marks":1146,"text":1147},"8d2281781ea20",[199],"Other resources",[],{"_key":1150,"_type":64,"children":1151,"level":827,"listItem":828,"markDefs":1165,"style":73},"ce4a844807e7",[1152,1156,1161],{"_key":1153,"_type":68,"marks":1154,"text":1155},"ce4a844807e70",[],"If you didn’t have time for the 10 minutes one, how about",{"_key":1157,"_type":68,"marks":1158,"text":1160},"ce4a844807e71",[1159],"31cb36ef6b60","Learn Python in 5 Minutes",{"_key":1162,"_type":68,"marks":1163,"text":1164},"ce4a844807e72",[],"? It actually runs over by a minute or so, but it’s still a pretty impressive speedrun of the basics.",[1166],{"_key":1159,"_type":92,"href":1167,"reference":94},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=I2wURDqiXdM",{"_key":1169,"_type":1170,"markDefs":94,"url":1167},"bd8e7a659cee","embed",{"_key":1172,"_type":64,"children":1173,"level":827,"listItem":828,"markDefs":1187,"style":73},"d981d6a93a86",[1174,1178,1183],{"_key":1175,"_type":68,"marks":1176,"text":1177},"d981d6a93a860",[],"At the other end of the spectrum, ",{"_key":1179,"_type":68,"marks":1180,"text":1182},"d981d6a93a861",[1181],"d555d035caa1","Transforming Code into Beautiful, Idiomatic Python",{"_key":1184,"_type":68,"marks":1185,"text":1186},"d981d6a93a862",[]," features expert tips for writing “Pythonic” code, which takes full advantage of some of its elegant features rather than simply translating from another language.",[1188],{"_key":1181,"_type":92,"href":1189,"reference":94},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=OSGv2VnC0go&ab_channel=NextDayVideo",{"_key":1191,"_type":64,"children":1192,"level":827,"listItem":828,"markDefs":1201,"style":73},"bc30c9f87e4f",[1193,1197],{"_key":1194,"_type":68,"marks":1195,"text":1196},"bc30c9f87e4f0",[],"A charming lecture from Python creator ",{"_key":1198,"_type":68,"marks":1199,"text":270},"bc30c9f87e4f1",[1200],"a97a4131198f",[1202],{"_key":1200,"_type":92,"href":1203,"reference":94},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7kn7NtlV6g0",{"_key":1205,"_type":1170,"markDefs":94,"url":1203},"90405c9dbaff",{"_key":1207,"_type":64,"children":1208,"markDefs":1213,"style":202},"d8610736932f",[1209],{"_key":1210,"_type":68,"marks":1211,"text":1212},"d8610736932f0",[199],"Communities",[],{"_key":1215,"_type":64,"children":1216,"level":827,"listItem":828,"markDefs":1226,"style":73},"4dab3aacfa39",[1217,1222],{"_key":1218,"_type":68,"marks":1219,"text":1221},"4dab3aacfa390",[1220],"71d7ff412669","PythonistaCafe",{"_key":1223,"_type":68,"marks":1224,"text":1225},"4dab3aacfa391",[]," is a friendly, moderated community of Python developers of all skill levels.",[1227],{"_key":1220,"_type":92,"href":1228,"reference":94},"https:\u002F\u002Fwww.pythonistacafe.com\u002F",{"_key":1230,"_type":64,"children":1231,"level":827,"listItem":828,"markDefs":1241,"style":73},"6af30203536d",[1232,1236],{"_key":1233,"_type":68,"marks":1234,"text":1235},"6af30203536d0",[],"Python has an active Discord channel at ",{"_key":1237,"_type":68,"marks":1238,"text":1240},"6af30203536d1",[1239],"f5a21fd67448","https:\u002F\u002Fdiscord.com\u002Finvite\u002Fpython",[1242],{"_key":1239,"_type":92,"href":1240,"reference":94},{"_key":1244,"_type":64,"children":1245,"markDefs":1250,"style":202},"74c2eed3bfb7",[1246],{"_key":1247,"_type":68,"marks":1248,"text":1249},"74c2eed3bfb70",[199],"Top conferences",[],{"_key":1252,"_type":64,"children":1253,"level":827,"listItem":828,"markDefs":1267,"style":73},"b9faa52aab75",[1254,1258,1263],{"_key":1255,"_type":68,"marks":1256,"text":1257},"b9faa52aab750",[],"International ",{"_key":1259,"_type":68,"marks":1260,"text":1262},"b9faa52aab751",[1261],"392a91d66e29","PyCon",{"_key":1264,"_type":68,"marks":1265,"text":1266},"b9faa52aab752",[]," events.",[1268],{"_key":1261,"_type":92,"href":1269,"reference":94},"https:\u002F\u002Fpycon.org\u002F",{"_key":1271,"_type":64,"children":1272,"level":827,"listItem":828,"markDefs":1286,"style":73},"9b01c889959a",[1273,1277,1282],{"_key":1274,"_type":68,"marks":1275,"text":1276},"9b01c889959a0",[],"Other ",{"_key":1278,"_type":68,"marks":1279,"text":1281},"9b01c889959a1",[1280],"ec393beed6db","Python conferences",{"_key":1283,"_type":68,"marks":1284,"text":1285},"9b01c889959a2",[]," by country",[1287],{"_key":1280,"_type":92,"href":1288,"reference":94},"https:\u002F\u002Fwiki.python.org\u002Fmoin\u002FPythonConferences",{"_key":1290,"_type":64,"children":1291,"markDefs":1301,"style":73},"7611744650fd",[1292,1296],{"_key":1293,"_type":68,"marks":1294,"text":1295},"7611744650fd0",[],"More about Python, or in fact any other technology tag you can find on the Stack Overflow Tag ",{"_key":1297,"_type":68,"marks":1298,"text":1300},"7611744650fd1",[1299],"432e1c13535a","info page.",[1302],{"_key":1299,"_type":92,"href":1303,"reference":94},"https:\u002F\u002Fstackoverflow.com\u002Ftags\u002Fpython\u002Finfo",{"_key":1305,"_type":53,"alt":94,"asset":1306,"caption":99,"markDefs":94},"dd95d4813d2d",{"_ref":1307,"_type":56},"image-d973e2c131da378cb58de76d8b2f1d218d9b325d-852x630-png",{"_key":1309,"_type":64,"children":1310,"markDefs":1324,"style":73},"ee576a9f7ca0",[1311,1315,1320],{"_key":1312,"_type":68,"marks":1313,"text":1314},"ee576a9f7ca00",[],"Interested in job opportunities with Python? Check out those on our ",{"_key":1316,"_type":68,"marks":1317,"text":1319},"ee576a9f7ca01",[1318],"48c23d447206","job board",{"_key":1321,"_type":68,"marks":1322,"text":1323},"ee576a9f7ca02",[],"?",[1325],{"_key":1318,"_type":92,"href":1326,"reference":94},"https:\u002F\u002Fstackoverflow.com\u002Fjobs?tl=python",{"_key":1328,"_type":64,"children":1329,"markDefs":1334,"style":73},"8f2826439786",[1330],{"_key":1331,"_type":68,"marks":1332,"text":1333},"8f28264397860",[70],"Learning or teaching Python and got a recommendation for our list? Add yours in the comments section!",[],"2021\u002F07\u002F14","Here's a collection of resources on how to get started using Python. ",{"_type":53,"asset":1338},{"_ref":1339,"_type":56},"image-885690a35f19242cd2ac198e23283698d38c6a59-1200x630-png",{"code":1341,"language":1342},"\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cem>In this series, we look at the most loved languages according to the Stack Overflow developer survey, examine the spread and use cases for each of them, and collect some essential links on how to get started using the language. Up now, #3 on our list: Python.\u003C\u002Fem>\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Python is consistently featured amongst the top \u003Ca href=\"https:\u002F\u002Finsights.stackoverflow.com\u002Fsurvey\u002F2020#technology-most-loved-dreaded-and-wanted-languages-loved\">most loved languages\u003C\u002Fa> in our Developer Survey. In 2020, 66.7% of respondents said they want to keep working with Python. Conceived in the late 80s, it’s one of the older languages on our list, coming just below newcomers Rust (2010) and TypeScript (2012)—evidence that original designer Guido van Rossum got a lot right.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002Fz33enWLy5CoqqAblq9AMq0qCHJFQHI0BIV31SJ8-wpKjiHqFnwTPGYqvb3lA6hGWG48D62CjkZxKtOsR9cGAauw7ryjJLdVSZpXM0Gu3GgU2vlOWnm8g-Zol4QZ2fKjj1bjnkTs0\" width=\"292\" height=\"382\">.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cem>Most loved languages in 2020 in the \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Finsights.stackoverflow.com\u002Fsurvey\u002F2020#technology-most-loved-dreaded-and-wanted-languages-loved\">\u003Cem>Developer Survey\u003C\u002Fem>\u003C\u002Fa>\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Python’s \u003Ca href=\"https:\u002F\u002Fdocs.python.org\u002F3\u002Ffaq\u002Fgeneral.html#why-is-it-called-python\">quirky name\u003C\u002Fa>—in honor of the cult comedy show, \u003Cem>Monty Python\u003C\u002Fem>—belies the fact that this is a hugely expressive language. While it’s not primarily used for performance-intensive programming, it’s often highly efficient to write, and programs tend to be clear and readable. This makes it ideally suited for applications like \u003Ca href=\"https:\u002F\u002Fstackoverflow.blog\u002F2017\u002F09\u002F14\u002Fpython-growing-quickly\u002F\">data science\u003C\u002Fa> and web development, and it’s used in a wide range of fields, from healthcare and finance to VFX and AI.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Some&nbsp; regard it as \u003Ca href=\"https:\u002F\u002Fwww.python.org\u002Fabout\u002Fgettingstarted\u002F\">an ideal language for beginners\u003C\u002Fa>: many terms are expressed using English words rather than symbols, its strict rules about \u003Ca href=\"https:\u002F\u002Fwww.python.org\u002Fdev\u002Fpeps\u002Fpep-0008\u002F#whitespace-in-expressions-and-statements\">whitespace\u003C\u002Fa> mean all programs are visually consistent, and code written in Python is often more \u003Ca href=\"https:\u002F\u002Fwww.geeksforgeeks.org\u002Fcomparison-of-python-with-other-programming-languages\u002F\">concise\u003C\u002Fa> than the equivalent in other languages.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-history-of-use\">\u003Cstrong>History of use\u003C\u002Fstrong>\u003C\u002Fh2>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:image -->\n\u003Cfigure class=\"wp-block-image\">\u003Cimg src=\"https:\u002F\u002Flh5.googleusercontent.com\u002FRl67lmpBkNDQCau3iCTwag2M0Qog-LsGpfAUV4lkaw8iqAaOYl4nbWK0Q4CEv4wNOmU3otTpK0pYg5aJjTqJG3-9Jx46Ndp_sRjvJQgm3PVjixObpJoeaOL8mzxD4RWEi6SUBxBD\" alt=\"\"\u002F>\u003C\u002Ffigure>\n\u003C!-- \u002Fwp:image -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https:\u002F\u002Finsights.stackoverflow.com\u002Ftrends?tags=python\">Trending tags on Stackoverflow.com\u003C\u002Fa>\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Although Python has been around since the 1.0 release in 1991, its usage has ballooned in recent years. Indeed, as our former data scientist David Robinson \u003Ca href=\"https:\u002F\u002Fstackoverflow.blog\u002F2017\u002F09\u002F06\u002Fincredible-growth-python\u002F\">noted\u003C\u002Fa>, since 2012, it has risen above the five other major languages (C++, PHP, Java, JavaScript and C#) in usage as estimated by the number of Stack Overflow question views per month. \u003Ca href=\"https:\u002F\u002Fwww.tiobe.com\u002Ftiobe-index\u002F\">TIOBE’s 2021 index\u003C\u002Fa> ranks Python as third in popularity at 10.86%, rapidly gaining on C and Java (16.34% and 11.29% respectively). Today, 44 % of \u003Ca href=\"https:\u002F\u002Finsights.stackoverflow.com\u002Fsurvey\u002F2020#technology\">developers\u003C\u002Fa> and technologists around the world are using Python.&nbsp;\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Until recently the language design and development was lead by a single person—Dutch computer scientist \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGuido_van_Rossum\">Guido van Rossum\u003C\u002Fa>, who stepped down as Python’s “Benevolent Dictator For Life” in 2018 but has remained an active contributor to this \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpython\u002Fcpython\u002Fgraphs\u002Fcontributors\">day\u003C\u002Fa>.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-who-is-using-it\">\u003Cstrong>Who is using it?\u003C\u002Fstrong>\u003C\u002Fh2>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Python is more or less ubiquitous—it would be faster to list industries that \u003Cem>don’t\u003C\u002Fem> use it in some form. While it’s not the language of choice for consumer applications like 3D games or mobile apps, even companies developing these applications frequently use Python for tools and utilities. It is also commonly embedded into software products for automation and scripting purposes—for example, in the VFX field, nearly all of the major software packages (Maya, 3Ds Max, Houdini, Cinema 4D, Blender, and Nuke) have embedded Python interpreters, allowing users to add functionality or automate tasks. It’s used more or less everywhere on Earth and, well, \u003Ca href=\"https:\u002F\u002Fnasa.github.io\u002Ffprime\u002F\">even on Mars\u003C\u002Fa>.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>In fact, if you’re reading this on a Mac, you already have Python \u003Ca href=\"https:\u002F\u002Fapple.stackexchange.com\u002Fquestions\u002F406244\u002Fwill-macos-big-sur-remove-the-default-python-installation-for-good\">installed\u003C\u002Fa> on your computer—just go to Terminal, type ‘python’, and away you go...\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-who-is-it-for\">\u003Cstrong>Who is it for?\u003C\u002Fstrong>\u003C\u002Fh2>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-students\">\u003Cstrong>Students\u003C\u002Fstrong>\u003C\u002Fh3>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>The use of short English keywords instead of symbols makes Python particularly friendly for beginners. See the \u003Ca href=\"https:\u002F\u002Fpythonconquerstheuniverse.wordpress.com\u002F2009\u002F10\u002F03\u002Fpython-java-a-side-by-side-comparison\u002F\">example\u003C\u002Fa> below.&nbsp;\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:table -->\n\u003Cfigure class=\"wp-block-table\">\u003Ctable>\u003Ctbody>\u003Ctr>\u003Ctd>Python\u003C\u002Ftd>\u003Ctd>Java\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd># print the integers from 1 to 9\u003Cbr>for i in \u003Ccode>range(1,10):    \u003C\u002Fcode>\u003Cbr>         \u003Ccode>print i\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u002F\u002F print the integers from 1 to 9\u003Cbr>for (int i = 1; i &lt; 10; i++){   \u003Cbr>        System.out.println(i);\u003Cbr>}\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Ffigure>\n\u003C!-- \u002Fwp:table -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Additionally, Python handles a lot of memory management \u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F11596371\u002Fhow-does-python-memory-management-work\">automatically\u003C\u002Fa>, so you’ll spend less time dealing with pointers and references and so on than in a language like C++.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>It comes bundled with a free IDE (integrated development environment), \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIDLE\">IDLE\u003C\u002Fa>, so you can get started quickly. In case you’re wondering, yes, IDLE is a reference to \u003Cem>Monty Python’s \u003C\u002Fem>Eric Idle—if you use Python you’re going to be bombarded with references to vintage British comedy.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-developers-who-prioritize-ease-of-programming-over-execution-speed\">\u003Cstrong>Developers who prioritize ease of programming over execution speed\u003C\u002Fstrong>\u003C\u002Fh3>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>While Python typically runs slower than other common languages like C++ or Java, it’s often much quicker to write—indeed, \u003Ca href=\"https:\u002F\u002Fwww.python.org\u002Fdoc\u002Fessays\u002Fcomparisons\u002F\">some estimates suggest\u003C\u002Fa> a typical program in Python is three to five times shorter than its Java equivalent and five to ten times shorter than the C++ version.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>This is one of the reasons it’s often used as a “support language”—software developers rely on it for \u003Ca href=\"https:\u002F\u002Fwww.python.org\u002Fabout\u002Fapps\u002F\">tasks\u003C\u002Fa> like build control, automated testing, and bug tracking. For the same reason, it’s also used for \u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002F37084289\u002Fwhat-is-meant-by-prototyping-in-python\">prototyping\u003C\u002Fa>—code can be “hacked together” quickly to test ideas, before perhaps rewriting in a more performant language.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-developers-working-with-text-or-numbers\">\u003Cstrong>Developers working with text or numbers\u003C\u002Fstrong>\u003C\u002Fh3>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Python’s \u003Ca href=\"https:\u002F\u002Fpeople.duke.edu\u002F~ccc14\u002Fsta-663\u002FTextProcessingSolutions.html\">powerful\u003C\u002Fa> String and List manipulation functions make it a great choice for anyone working with text or numbers. And it’s a great tool for exploring data.&nbsp;\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>The fact that it doesn’t need compiling means you can rapidly iterate on a program, and, by running Python \u003Ca href=\"https:\u002F\u002Frealpython.com\u002Frun-python-scripts\u002F#:~:text=A%20widely%20used%20way%20to,installation%2C%20and%20then%20hit%20Enter%20.\">interactively\u003C\u002Fa>, you can intuitively manipulate data step-by-step, examining it at each stage.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Python’s core functionality can be extended with a huge arsenal of ‘packages’, many of which are widely used by the scientific and academic communities, as well as fintech and engineering. These include the venerable \u003Ca href=\"https:\u002F\u002Fnumpy.org\u002F\">NumPy\u003C\u002Fa> (mathematical functions and data analysis), \u003Ca href=\"https:\u002F\u002Fwww.scipy.org\u002F\">SciPy\u003C\u002Fa> (for science), \u003Ca href=\"http:\u002F\u002Fmatplotlib.org\u002F\">Matplotlib\u003C\u002Fa> (data visualization) and \u003Ca href=\"https:\u002F\u002Fpandas.pydata.org\u002F\">Pandas\u003C\u002Fa> (data analysis), and more recently \u003Ca href=\"https:\u002F\u002Fwww.tensorflow.org\u002F\">TensorFlow\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fkeras.io\u002F\">Keras\u003C\u002Fa> (Machine Learning\u002FAI), as well as \u003Ca href=\"https:\u002F\u002Fpypi.org\u002F\">tens of thousands of others\u003C\u002Fa>.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-web-developers\">\u003Cstrong>Web developers\u003C\u002Fstrong>\u003C\u002Fh3>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Another key area of Python use is backend development. It has built-in support for common protocols like HTML, XML, and JSON, and frameworks like \u003Ca href=\"https:\u002F\u002Fwww.djangoproject.com\u002F\">Django\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fflask.palletsprojects.com\u002Fen\u002F1.1.x\u002F\">Flask\u003C\u002Fa>, and \u003Ca href=\"http:\u002F\u002Fbottlepy.org\u002Fdocs\u002Fdev\u002F\">Bottle\u003C\u002Fa> are used widely—for example, \u003Ca href=\"https:\u002F\u002Fwww.reddit.com\u002Fr\u002Flearnprogramming\u002Fcomments\u002F34d7cl\u002Fwhy_is_reddit_written_in_python_why_not_ruby_or\u002F\">Reddit\u003C\u002Fa>’s backend is Python. Python powers advanced content management, email \u003Ca href=\"https:\u002F\u002Ftowardsdatascience.com\u002Fautomate-email-with-python-1e755d9c6276\">automation\u003C\u002Fa>, and more.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-why-you-shouldn-t-learn-it\">\u003Cstrong>Why you shouldn't learn it\u003C\u002Fstrong>\u003C\u002Fh2>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>There’s a lot to like about Python, but it’s not always the perfect tool for the job.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Perhaps most importantly, Python is an \u003Cem>interpreted \u003C\u002Fem>language, as opposed to a \u003Cem>compiled\u003C\u002Fem> language like C++. While that means there’s no sitting around waiting for your code to compile, it also means the computer has to do extra work every time the program runs, inherently limiting performance. So you’re probably not going to be writing the next blockbuster 60FPS first-person shooter in Python, but it’s perfect for situations like data manipulation where you’re likely to spend more time writing the program than running it.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Additionally, Python’s somewhat unusual syntax means that—if it’s your first language—not all of the knowledge you gain will be transferable to other languages, although many of the underlying concepts are identical. For example, the reduced reliance on\u003Ca href=\"https:\u002F\u002Flerner.co.il\u002F2018\u002F06\u002F08\u002Fpython-parentheses-primer\u002F\"> brackets and braces\u003C\u002Fa>, the use of English words instead of symbols, and the enforced usage of whitespace mean that a program in Python may be \u003Ca href=\"http:\u002F\u002Frosettacode.org\u002Fwiki\u002FCategory:Python\">visually structured\u003C\u002Fa> in a very different way to the equivalent code in Java or C++.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>However, these downsides are often a small price to pay for the many benefits, as evidenced by its ubiquity.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-key-concepts\">\u003Cstrong>Key concepts\u003C\u002Fstrong>\u003C\u002Fh2>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>The core philosophies are summarized—in Pythonic fashion—in “\u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FZen_of_Python\">The Zen Of Python\u003C\u002Fa>.” These include:\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>“\u003Ca href=\"https:\u002F\u002Fdocs.python-guide.org\u002Fwriting\u002Fstyle\u002F\">Readability\u003C\u002Fa> counts\u003C\u002Fli>\u003Cli>Simple is better than complex\u003C\u002Fli>\u003Cli>There should be one—and preferably only one—obvious way to do it”\u003C\u002Fli>\u003C\u002Ful>\n\u003C!-- \u002Fwp:list -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>In case you were wondering, The Zen Of Python is available in catchy musical form \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=i6G6dmVJy74\">here\u003C\u002Fa>.\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-resources\">\u003Cstrong>Resources\u003C\u002Fstrong>\u003C\u002Fh2>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-official\">\u003Cstrong>Official\u003C\u002Fstrong>\u003C\u002Fh3>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>The \u003Ca href=\"https:\u002F\u002Fdocs.python.org\u002F3\u002Ftutorial\u002F\">official tutorial\u003C\u002Fa> is a quick primer on all the basics, perfect for getting up and running quickly.\u003C\u002Fli>\u003Cli>The \u003Ca href=\"https:\u002F\u002Fdocs.python.org\u002F3\u002Freference\u002Findex.html\">Python language reference\u003C\u002Fa> provides full documentation in a no-nonsense manner that is “terse, but attempts to be exact and complete.”\u003C\u002Fli>\u003Cli>Following the official \u003Ca href=\"https:\u002F\u002Fwww.python.org\u002Fdev\u002Fpeps\u002Fpep-0008\u002F\">PEP-8 Style Guide\u003C\u002Fa> will make your code more readable to other programmers, including the most crucial audience of all—your future self.&nbsp;&nbsp;\u003C\u002Fli>\u003Cli>The \u003Ca href=\"https:\u002F\u002Fwww.python.org\u002Fabout\u002Fgettingstarted\u002F\">official site\u003C\u002Fa> also offers an enormous wealth of information, tutorials, and also features curated content in dozens of languages.\u003C\u002Fli>\u003C\u002Ful>\n\u003C!-- \u002Fwp:list -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-entry-level\">\u003Cstrong>Entry-level\u003C\u002Fstrong>\u003C\u002Fh3>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.learnpython.org\u002F\">LearnPython.org\u003C\u002Fa> offers a quick, well-thought-out series of basic lessons, and provides a friendly browser-based Python interface to experiment with.\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fcodetheblocks.com\u002Ftutorials\u002Fintroduction\">Code The Blocks\u003C\u002Fa> provides an engaging series of beginner exercises, using a browser-based Python interpreter to manipulate a 3D scene.\u003C\u002Fli>\u003Cli>FreeCodeCamp.org offers a free \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=rfscVS0vtbw\">video course\u003C\u002Fa> that will take you from novice to intermediate in four hours.\u003C\u002Fli>\u003Cli>The classic \u003Ca href=\"https:\u002F\u002Fopenbookproject.net\u002Fthinkcs\u002Fpython\u002Fenglish3e\u002F\">How to Think Like a Computer Scientist\u003C\u002Fa> is available in a Python 3 edition that will get you up to speed on Python syntax while providing insights that will be valuable in any language.\u003C\u002Fli>\u003Cli>While not Python-exclusive, \u003Ca href=\"https:\u002F\u002Fprojecteuler.net\u002F\">Project Euler\u003C\u002Fa> offers a set of challenges that are perfect for flexing your new-found Python muscles. The site is a sequence of over 700 mathematical puzzles, to which the answer is always a single integer, and the problems range from the trivial to the extremely difficult. You can of course find hints and tips on Stack Overflow—no cheating though!\u003C\u002Fli>\u003Cli>\u003Ca href=\"http:\u002F\u002Frosalind.info\u002Fabout\u002F\">Project Rosalind\u003C\u002Fa> offers a similarly structured set of problems—this time from the field of Bioinformatics—that function as both an introduction to Python and molecular biology.\u003C\u002Fli>\u003C\u002Ful>\n\u003C!-- \u002Fwp:list -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-advanced\">\u003Cstrong>Advanced\u003C\u002Fstrong>\u003C\u002Fh3>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.python-guide.org\">The Hitchhiker’s Guide to Python!\u003C\u002Fa> A hands-on guide for prob&nbsp;\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fwiki.python.org\u002Fmoin\u002FMovingToPythonFromOtherLanguages\">Moving To Python From Other Languages\u003C\u002Fa> offers a quick guide to Python concepts and gotchas.\u003C\u002Fli>\u003Cli>Rafe Kettler’s \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FRafeKettler\u002Fmagicmethods\u002Fblob\u002Fmaster\u002Fmagicmethods.pdf\">A Guide to Python’s Magic Methods\u003C\u002Fa> offers a detailed explanation of “Magic Methods”—the Python-specific built-in functions like `__init__()` that you may have been using without even thinking about\u003C\u002Fli>\u003Cli>Python is generally considered to be simple to learn if you already understand the general concepts of programming… although \u003Ca href=\"https:\u002F\u002Fwww.stavros.io\u002Ftutorials\u002Fpython\u002F\">Learn Python in 10 Minutes\u003C\u002Fa> is a pretty bold claim!\u003C\u002Fli>\u003C\u002Ful>\n\u003C!-- \u002Fwp:list -->\n\n\u003C!-- wp:heading {\"level\":3} -->\n\u003Ch3 id=\"h-other-resources\">\u003Cstrong>Other resources\u003C\u002Fstrong>\u003C\u002Fh3>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>If you didn’t have time for the 10 minutes one, how about\u003Cstrong> \u003C\u002Fstrong>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=I2wURDqiXdM\">Learn Python in 5 Minutes\u003C\u002Fa>? It actually runs over by a minute or so, but it’s still a pretty impressive speedrun of the basics.\u003C\u002Fli>\u003C\u002Ful>\n\u003C!-- \u002Fwp:list -->\n\n\u003C!-- wp:embed {\"url\":\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=I2wURDqiXdM\",\"type\":\"video\",\"providerNameSlug\":\"youtube\",\"responsive\":true,\"className\":\"wp-embed-aspect-16-9 wp-has-aspect-ratio\"} -->\n\u003Cfigure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\u003Cdiv class=\"wp-block-embed__wrapper\">\nhttps:\u002F\u002Fwww.youtube.com\u002Fwatch?v=I2wURDqiXdM\n\u003C\u002Fdiv>\u003C\u002Ffigure>\n\u003C!-- \u002Fwp:embed -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>At the other end of the spectrum, \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=OSGv2VnC0go&amp;ab_channel=NextDayVideo\">Transforming Code into Beautiful, Idiomatic Python\u003C\u002Fa> features expert tips for writing “Pythonic” code, which takes full advantage of some of its elegant features rather than simply translating from another language.\u003C\u002Fli>\u003Cli>A charming lecture from Python creator \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7kn7NtlV6g0\">Guido van Rossum\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Ful>\n\u003C!-- \u002Fwp:list -->\n\n\u003C!-- wp:embed {\"url\":\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7kn7NtlV6g0\",\"type\":\"video\",\"providerNameSlug\":\"youtube\",\"responsive\":true,\"className\":\"wp-embed-aspect-16-9 wp-has-aspect-ratio\"} -->\n\u003Cfigure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\u003Cdiv class=\"wp-block-embed__wrapper\">\nhttps:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7kn7NtlV6g0\n\u003C\u002Fdiv>\u003C\u002Ffigure>\n\u003C!-- \u002Fwp:embed -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-communities\">\u003Cstrong>Communities&nbsp;\u003C\u002Fstrong>\u003C\u002Fh2>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.pythonistacafe.com\u002F\">PythonistaCafe\u003C\u002Fa> is a friendly, moderated community of Python developers of all skill levels.\u003C\u002Fli>\u003Cli>Python has an active Discord channel at \u003Ca href=\"https:\u002F\u002Fdiscord.com\u002Finvite\u002Fpython\">https:\u002F\u002Fdiscord.com\u002Finvite\u002Fpython\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Ful>\n\u003C!-- \u002Fwp:list -->\n\n\u003C!-- wp:heading -->\n\u003Ch2 id=\"h-top-conferences\">\u003Cstrong>Top conferences\u003C\u002Fstrong>\u003C\u002Fh2>\n\u003C!-- \u002Fwp:heading -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>International \u003Ca href=\"https:\u002F\u002Fpycon.org\u002F\">PyCon\u003C\u002Fa> events.\u003C\u002Fli>\u003Cli>Other \u003Ca href=\"https:\u002F\u002Fwiki.python.org\u002Fmoin\u002FPythonConferences\">Python conferences\u003C\u002Fa> by country&nbsp;&nbsp;\u003C\u002Fli>\u003C\u002Ful>\n\u003C!-- \u002Fwp:list -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>More about Python, or in fact any other technology tag you can find on the Stack Overflow Tag \u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Ftags\u002Fpython\u002Finfo\">info page.&nbsp;\u003C\u002Fa>\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:image {\"id\":18449,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n\u003Cfigure class=\"wp-block-image size-large\">\u003Cimg src=\"https:\u002F\u002Fstackoverflow.blog\u002Fwp-content\u002Fuploads\u002F2021\u002F07\u002Flanguage-stats-python-march-2021-852x630.png\" alt=\"\" class=\"wp-image-18449\"\u002F>\u003C\u002Ffigure>\n\u003C!-- \u002Fwp:image -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Interested in job opportunities with Python? Check out those on our \u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fjobs?tl=python\">job board\u003C\u002Fa>?&nbsp;\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cem>Learning or teaching Python and got a recommendation for our list? Add yours in the comments section!&nbsp;\u003C\u002Fem>\u003C\u002Fp>\n\u003C!-- \u002Fwp:paragraph -->","html","2021-07-14T14:26:18.000Z",{"current":1345},"getting-started-with-python",[1347,1355,1360],{"_createdAt":1348,"_id":1349,"_rev":1350,"_type":1351,"_updatedAt":1348,"slug":1352,"title":1354},"2023-05-23T16:43:21Z","wp-tagcat-code-for-a-living","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":1353},"code-for-a-living","Code for a Living",{"_createdAt":1348,"_id":1356,"_rev":1350,"_type":1351,"_updatedAt":1348,"slug":1357,"title":1359},"wp-tagcat-getting-started",{"current":1358},"getting-started","getting started",{"_createdAt":1348,"_id":1361,"_rev":1350,"_type":1351,"_updatedAt":1348,"slug":1362,"title":1363},"wp-tagcat-python",{"current":1363},"python","Getting started with... Python",[1366,1372,1378,1384],{"_id":1367,"publishedAt":1368,"slug":1369,"sponsored":94,"title":1371},"76c9771b-34e6-4d98-8641-ecefc711f0ef","2026-07-06T15:23:34.559Z",{"_type":10,"current":1370},"when-the-sensor-starts-thinking-snortml-agentic-ai-and-the-evolving-architecture-of-intrusion-detection","When the sensor starts thinking: SnortML, agentic AI, and the evolving architecture of intrusion detection",{"_id":1373,"publishedAt":1374,"slug":1375,"sponsored":94,"title":1377},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":1376},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":1379,"publishedAt":1380,"slug":1381,"sponsored":94,"title":1383},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":1382},"your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem","Your AI shipped a backend that boots. That is the whole problem.",{"_id":1385,"publishedAt":1386,"slug":1387,"sponsored":94,"title":1389},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":1388},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"data":1391,"sourceMap":-1},{"count":1392,"lastTimestamp":1393},15,"2025-02-18T18:01:19Z"]