SlideShare a Scribd company logo
1 of 52
Download to read offline
June 2014
Tempe, AZ
Confidential
PyCon 2015
Liza Daly, CTO
@liza
Python learning in the wild:
lessons from Safari
2
3
4
5
=> SELECT SUM(pagecount) FROM nest_epubarchive ne
JOIN nest_epubarchive_subjects nes ON nes.epubarchive_id = ne.id
JOIN nest_subject s on s.id = nes.subject_id
WHERE s.name = 'Python';

sum
-------
70254
(1 row)
6
7
20%
8
=> SELECT SUM(duration_seconds) / 60 / 60 FROM nest_epubarchive ne
JOIN nest_epubarchive_subjects nes ON nes.epubarchive_id = ne.id
JOIN nest_subject s on s.id = nes.subject_id
WHERE s.name = 'Python';

hours
-------
87
(1 row)
9
11
What are people writing?
12
Python titles by publication year
13
28
23
16
9
8
7
6 6
5
4 4 4
2 2 2 2 2
1 1 1 1 1 1 1 1
201420122010200820062004200220001998
…increasingly more advanced
14
Difficulty
by publication_date
2010
2011
2012
2013
2014
Beginner
Intermediate
Advanced
…and on more specific subjects
15
Type
by publication_date
2010
2011
2012
2013
2014
General
Topical
More targeted titles than general ones…
16
17
Python version
by publication_date
2011
2012
2013
2014
2015
Version 2
Version 3
Both
Publication date by Python…
18
Python version
by publication_date
2011
2012
2013
2014
2015
Version 2
Version 3
Both
Publication date by Python version
Programming books are getting shorter
19
2007 2009 2011 2013 2015
400 390
479
380
348
288
224
269
240
20
https://flic.kr/p/ci4hX
What are we reading?
21
22
select Python as a topic of interest
10%
Popular co-occurring topics
23
Test-driven development
Design patterns
Google App Engine
Raspberry Pi
Math & Science
Linux
Security
Analytics/R
More women, pls
24
gender
by New Recode of source table
Python
Java
.NET
C/C++
JavaScript
Social Media
Female
Male
Beginners lose faith early
25
Committed readers stay committed
26
Committed readers stay committed
27
Beginners struggle with classes
28
29
Beginners struggle with classes
30
Beginners struggle with classes
Unexpectedly popular :(
31
Unexpectedly popular :(
32
(2010)
33
Python version
by publication_date
2011
2012
2013
2014
2015
Version 2
Version 3
Both
Publication date by Python version
Advanced topics
34
Popular advanced topics: Celery
35
Popular advanced topics: NumPy arrays
36
Popular advanced topics: Packet-sniffing
37
Advanced topics may be underserved
38
ln(rank)
by Difficulty
Advanced
Beginner
Intermediate
0 1 2 3 4 5 6 7 8 9 10 11 12
ln(rank)
by Difficulty
Advanced
Beginner
Annotations
39
Most-annotated
40
Learning Python, 5th Edition
Introducing Python
Python for Data Analysis
Learn Python the Hard Way
Python 3 Object Oriented
Programming
Django Unleashed
Flask Web Development
Python for Finance
Introduction to Tornado
Python® Programming for the
Absolute Beginner
Fluent Python
Think Python
High Performance Python
Learning Python
Learning NumPy Array
Python 3 Text Processing with
NLTK 3 Cookbook
Data Structures and Algorithms in
Python
Programming in Python 3: A
Complete Introduction to the
Python Language
Mastering Object-oriented Python
Test-Driven Development with
Python
Core Python Programming,
Second Edition
Introduction to Computing Using
Python: An Application
Development Focus
Lightweight Django
Pro Django
Learning Python Data
Visualization
Beginning Python®: Using Python
2.6 and Python 3.1
Bioinformatics Programming
Using Python
Practical Data Science Cookbook
Getting Started with Django
Mastering Python Design Patterns
Django JavaScript Integration:
AJAX and jQuery
Most-annotated: web apps
41
Learning Python, 5th Edition
Introducing Python
Python for Data Analysis
Learn Python the Hard Way
Python 3 Object Oriented
Programming
Django Unleashed
Flask Web Development
Python for Finance
Introduction to Tornado
Python® Programming for the
Absolute Beginner
Fluent Python
Think Python
High Performance Python
Learning Python
Learning NumPy Array
Python 3 Text Processing with
NLTK 3 Cookbook
Data Structures and Algorithms in
Python
Programming in Python 3: A
Complete Introduction to the
Python Language
Mastering Object-oriented Python
Test-Driven Development with
Python
Core Python Programming,
Second Edition
Introduction to Computing Using
Python: An Application
Development Focus
Lightweight Django
Pro Django
Learning Python Data
Visualization
Beginning Python®: Using Python
2.6 and Python 3.1
Bioinformatics Programming
Using Python
Practical Data Science Cookbook
Getting Started with Django
Mastering Python Design Patterns
Django JavaScript Integration:
AJAX and jQuery
Most-annotated: scientific & mathematical
42
Learning Python, 5th Edition
Introducing Python
Python for Data Analysis
Learn Python the Hard Way
Python 3 Object Oriented
Programming
Django Unleashed
Flask Web Development
Python for Finance
Introduction to Tornado
Python® Programming for the
Absolute Beginner
Fluent Python
Think Python
High Performance Python
Learning Python
Learning NumPy Array
Python 3 Text Processing with
NLTK 3 Cookbook
Data Structures and Algorithms in
Python
Programming in Python 3: A
Complete Introduction to the
Python Language
Mastering Object-oriented Python
Test-Driven Development with
Python
Core Python Programming,
Second Edition
Introduction to Computing Using
Python: An Application
Development Focus
Lightweight Django
Pro Django
Learning Python Data
Visualization
Beginning Python®: Using Python
2.6 and Python 3.1
Bioinformatics Programming
Using Python
Practical Data Science Cookbook
Getting Started with Django
Mastering Python Design Patterns
Django JavaScript Integration:
AJAX and jQuery
Most-annotated
43
Learning Python, 5th Edition
Introducing Python
Python for Data Analysis
Learn Python the Hard Way
Python 3 Object Oriented
Programming
Django Unleashed
Flask Web Development
Python for Finance
Introduction to Tornado
Python® Programming for the
Absolute Beginner
Fluent Python
Think Python
High Performance Python
Learning Python
Learning NumPy Array
Python 3 Text Processing with
NLTK 3 Cookbook
Data Structures and Algorithms in
Python
Programming in Python 3: A
Complete Introduction to the
Python Language
Mastering Object-oriented Python
Test-Driven Development with
Python
Core Python Programming,
Second Edition
Introduction to Computing Using
Python: An Application
Development Focus
Lightweight Django
Pro Django
Learning Python Data
Visualization
Beginning Python®: Using Python
2.6 and Python 3.1
Bioinformatics Programming
Using Python
Practical Data Science Cookbook
Getting Started with Django
Mastering Python Design Patterns
Django JavaScript Integration:
AJAX and jQuery
More Python 3 :(
44
“Two good guides are ‘Porting Python 2 Code to Python 3’ and ‘Porting to Python 3: An
in-depth guide’” — High Performance Python
“Note that for loops force results from range automatically in 3.X, so we don’t need to
use a list wrapper here in 3.X (in 2.X we get a temporary list unless we call xrange
instead).” — Learning Python
“print is changing to a function in Python 3.0” — Core Python Programming
“String templating or formatting is another important topic. The number of ways to do
so has expanded with the advent of Python 3…” — Python for Data Analysis

“Avoid any project that mentions ‘Python 3.’ That’ll only confuse you.” 

— Learn Python the Hard Way
45
“Any time you are faced with the problem of incremental data
processing, you should think of iterators and generators.” 

— David Beazley & Brian K. Jones
“…The core of programming is about ideas: specifically,
successfully capturing those ideas in a program so that
other people can use them.” — Anthony Briggs
“Every programmer has to do these annoying, tedious tasks
before they can do something cool.” — Zed A. Shaw
Takeaways
46
Write more Python books!
47
There’s plenty of demand.
There’s lots of engagement.
Make more Python videos!
48
Good videos are very popular.
Video is a great way to reach beginners.
More advanced topics needed.
49
Lots of unmet demand for advanced material in algorithms,
scientific and mathematical computing, and analytics.
Python for ______.
50
Many people learning a programming language who are
already experts in their domain.
Teach programming without teaching down.
Study from the greats
51
Read and watch the experts teach.
We’re happy to help you identify good models.
SAFARIBOOKSONLINE.COM
Liza Daly
@liza
liza@safaribooksonline.com
Thank you!

More Related Content

What's hot

5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...
5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...
5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...Edureka!
 
Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Learn Python Programming | Python Programming - Step by Step | Python for Beg...Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Learn Python Programming | Python Programming - Step by Step | Python for Beg...Edureka!
 
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...pythoncharmers
 
Seminar report On Python
Seminar report On PythonSeminar report On Python
Seminar report On PythonShivam Gupta
 
Can Python Overthrow Java? | Java vs Python | Edureka
Can Python Overthrow Java? | Java vs Python | EdurekaCan Python Overthrow Java? | Java vs Python | Edureka
Can Python Overthrow Java? | Java vs Python | EdurekaEdureka!
 
Why Python?
Why Python?Why Python?
Why Python?Adam Pah
 
Python programming for beginners
Python programming for beginnersPython programming for beginners
Python programming for beginnersBenishchoco
 
1901200100000 presentation short term mini project on python
1901200100000 presentation short term mini project on python1901200100000 presentation short term mini project on python
1901200100000 presentation short term mini project on pythonSANTOSHJAISWAL52
 
Python for the Mobile and Web
Python for the Mobile and WebPython for the Mobile and Web
Python for the Mobile and WebDerek Kiong
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To PythonVanessa Rene
 
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...Edureka!
 
summer training report on python
summer training report on pythonsummer training report on python
summer training report on pythonShubham Yadav
 
A commercial open source project in Python
A commercial open source project in PythonA commercial open source project in Python
A commercial open source project in Pythonjbrendel
 
Python presentation by Monu Sharma
Python presentation by Monu SharmaPython presentation by Monu Sharma
Python presentation by Monu SharmaMayank Sharma
 
web programming Unit VIII complete about python by Bhavsingh Maloth
web programming Unit VIII complete about python  by Bhavsingh Malothweb programming Unit VIII complete about python  by Bhavsingh Maloth
web programming Unit VIII complete about python by Bhavsingh MalothBhavsingh Maloth
 
Python in real world.
Python in real world.Python in real world.
Python in real world.Alph@.M
 

What's hot (19)

5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...
5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...
5 Simple Steps To Install Python On Windows | Install Python 3.7 | Python Tra...
 
Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Learn Python Programming | Python Programming - Step by Step | Python for Beg...Learn Python Programming | Python Programming - Step by Step | Python for Beg...
Learn Python Programming | Python Programming - Step by Step | Python for Beg...
 
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
 
Seminar report On Python
Seminar report On PythonSeminar report On Python
Seminar report On Python
 
Can Python Overthrow Java? | Java vs Python | Edureka
Can Python Overthrow Java? | Java vs Python | EdurekaCan Python Overthrow Java? | Java vs Python | Edureka
Can Python Overthrow Java? | Java vs Python | Edureka
 
Why Python?
Why Python?Why Python?
Why Python?
 
Python programming for beginners
Python programming for beginnersPython programming for beginners
Python programming for beginners
 
1901200100000 presentation short term mini project on python
1901200100000 presentation short term mini project on python1901200100000 presentation short term mini project on python
1901200100000 presentation short term mini project on python
 
Python for the Mobile and Web
Python for the Mobile and WebPython for the Mobile and Web
Python for the Mobile and Web
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
 
Lets learn Python !
Lets learn Python !Lets learn Python !
Lets learn Python !
 
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...
Python Scripting Tutorial for Beginners | Python Tutorial | Python Training |...
 
summer training report on python
summer training report on pythonsummer training report on python
summer training report on python
 
A commercial open source project in Python
A commercial open source project in PythonA commercial open source project in Python
A commercial open source project in Python
 
Python presentation by Monu Sharma
Python presentation by Monu SharmaPython presentation by Monu Sharma
Python presentation by Monu Sharma
 
Why learn python in 2017?
Why learn python in 2017?Why learn python in 2017?
Why learn python in 2017?
 
web programming Unit VIII complete about python by Bhavsingh Maloth
web programming Unit VIII complete about python  by Bhavsingh Malothweb programming Unit VIII complete about python  by Bhavsingh Maloth
web programming Unit VIII complete about python by Bhavsingh Maloth
 
Python in real world.
Python in real world.Python in real world.
Python in real world.
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 

Similar to Python learning insights from 70,000+ books

Scientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataScientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataGael Varoquaux
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to PythonSpotle.ai
 
The-Power-of-Python-Programming.pptx
The-Power-of-Python-Programming.pptxThe-Power-of-Python-Programming.pptx
The-Power-of-Python-Programming.pptxPreethyJemi
 
5 Effective Tips to Learn Python Fast.pptx
5 Effective Tips to Learn Python Fast.pptx5 Effective Tips to Learn Python Fast.pptx
5 Effective Tips to Learn Python Fast.pptxAttitude Tally Academy
 
python classes 1.pdf
python classes 1.pdfpython classes 1.pdf
python classes 1.pdfrobin singh
 
A Whirlwind Tour Of Python
A Whirlwind Tour Of PythonA Whirlwind Tour Of Python
A Whirlwind Tour Of PythonAsia Smith
 
Why should I learn python
Why should I learn pythonWhy should I learn python
Why should I learn pythongrinu
 
Introduction to Analytics with Azure Notebooks and Python
Introduction to Analytics with Azure Notebooks and PythonIntroduction to Analytics with Azure Notebooks and Python
Introduction to Analytics with Azure Notebooks and PythonJen Stirrup
 
Python Training in Pune - Ethans Tech Pune
Python Training in Pune - Ethans Tech PunePython Training in Pune - Ethans Tech Pune
Python Training in Pune - Ethans Tech PuneEthan's Tech
 
python programming.pptx
python programming.pptxpython programming.pptx
python programming.pptxKaviya452563
 
Why Python Should Be Your First Programming Language
Why Python Should Be Your First Programming LanguageWhy Python Should Be Your First Programming Language
Why Python Should Be Your First Programming LanguageEdureka!
 

Similar to Python learning insights from 70,000+ books (20)

Scientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataScientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of data
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
The-Power-of-Python-Programming.pptx
The-Power-of-Python-Programming.pptxThe-Power-of-Python-Programming.pptx
The-Power-of-Python-Programming.pptx
 
5 Effective Tips to Learn Python Fast.pptx
5 Effective Tips to Learn Python Fast.pptx5 Effective Tips to Learn Python Fast.pptx
5 Effective Tips to Learn Python Fast.pptx
 
python classes 1.pdf
python classes 1.pdfpython classes 1.pdf
python classes 1.pdf
 
python training.docx
python training.docxpython training.docx
python training.docx
 
A Whirlwind Tour Of Python
A Whirlwind Tour Of PythonA Whirlwind Tour Of Python
A Whirlwind Tour Of Python
 
05 python.pdf
05 python.pdf05 python.pdf
05 python.pdf
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
Doing the Impossible
Doing the ImpossibleDoing the Impossible
Doing the Impossible
 
Why should I learn python
Why should I learn pythonWhy should I learn python
Why should I learn python
 
Introduction to Analytics with Azure Notebooks and Python
Introduction to Analytics with Azure Notebooks and PythonIntroduction to Analytics with Azure Notebooks and Python
Introduction to Analytics with Azure Notebooks and Python
 
Python Training in Pune - Ethans Tech Pune
Python Training in Pune - Ethans Tech PunePython Training in Pune - Ethans Tech Pune
Python Training in Pune - Ethans Tech Pune
 
what is python ?
what is python ? what is python ?
what is python ?
 
Python content
Python contentPython content
Python content
 
python programming.pptx
python programming.pptxpython programming.pptx
python programming.pptx
 
summer t.pdf
summer t.pdfsummer t.pdf
summer t.pdf
 
Learn Python in Pragmatic Way
Learn Python in Pragmatic WayLearn Python in Pragmatic Way
Learn Python in Pragmatic Way
 
Korean Word Network
Korean Word NetworkKorean Word Network
Korean Word Network
 
Why Python Should Be Your First Programming Language
Why Python Should Be Your First Programming LanguageWhy Python Should Be Your First Programming Language
Why Python Should Be Your First Programming Language
 

More from Liza Daly

liza-daly-cultivate-2015
liza-daly-cultivate-2015liza-daly-cultivate-2015
liza-daly-cultivate-2015Liza Daly
 
Streaming Digital Books: IDPF Digital Book 2012 presentation
Streaming Digital Books: IDPF Digital Book 2012 presentationStreaming Digital Books: IDPF Digital Book 2012 presentation
Streaming Digital Books: IDPF Digital Book 2012 presentationLiza Daly
 
EPUB Evolutions: Towards HTML5 and CSS3
EPUB Evolutions: Towards HTML5 and CSS3EPUB Evolutions: Towards HTML5 and CSS3
EPUB Evolutions: Towards HTML5 and CSS3Liza Daly
 
Bnc Tech Forum 2010: Designing ebooks for ePub reading engines
Bnc Tech Forum 2010: Designing ebooks for ePub reading enginesBnc Tech Forum 2010: Designing ebooks for ePub reading engines
Bnc Tech Forum 2010: Designing ebooks for ePub reading enginesLiza Daly
 
Networked, Mobile, and Landlocked: Current Ereaders
Networked, Mobile, and Landlocked: Current EreadersNetworked, Mobile, and Landlocked: Current Ereaders
Networked, Mobile, and Landlocked: Current EreadersLiza Daly
 
ePub: The open ebook format
ePub: The open ebook formatePub: The open ebook format
ePub: The open ebook formatLiza Daly
 
Survey Of Current E-Readers
Survey Of Current E-ReadersSurvey Of Current E-Readers
Survey Of Current E-ReadersLiza Daly
 
What publishers need to know about digitization
What publishers need to know about digitizationWhat publishers need to know about digitization
What publishers need to know about digitizationLiza Daly
 

More from Liza Daly (8)

liza-daly-cultivate-2015
liza-daly-cultivate-2015liza-daly-cultivate-2015
liza-daly-cultivate-2015
 
Streaming Digital Books: IDPF Digital Book 2012 presentation
Streaming Digital Books: IDPF Digital Book 2012 presentationStreaming Digital Books: IDPF Digital Book 2012 presentation
Streaming Digital Books: IDPF Digital Book 2012 presentation
 
EPUB Evolutions: Towards HTML5 and CSS3
EPUB Evolutions: Towards HTML5 and CSS3EPUB Evolutions: Towards HTML5 and CSS3
EPUB Evolutions: Towards HTML5 and CSS3
 
Bnc Tech Forum 2010: Designing ebooks for ePub reading engines
Bnc Tech Forum 2010: Designing ebooks for ePub reading enginesBnc Tech Forum 2010: Designing ebooks for ePub reading engines
Bnc Tech Forum 2010: Designing ebooks for ePub reading engines
 
Networked, Mobile, and Landlocked: Current Ereaders
Networked, Mobile, and Landlocked: Current EreadersNetworked, Mobile, and Landlocked: Current Ereaders
Networked, Mobile, and Landlocked: Current Ereaders
 
ePub: The open ebook format
ePub: The open ebook formatePub: The open ebook format
ePub: The open ebook format
 
Survey Of Current E-Readers
Survey Of Current E-ReadersSurvey Of Current E-Readers
Survey Of Current E-Readers
 
What publishers need to know about digitization
What publishers need to know about digitizationWhat publishers need to know about digitization
What publishers need to know about digitization
 

Python learning insights from 70,000+ books

  • 1. June 2014 Tempe, AZ Confidential PyCon 2015 Liza Daly, CTO @liza Python learning in the wild: lessons from Safari
  • 2. 2
  • 3. 3
  • 4. 4
  • 5. 5 => SELECT SUM(pagecount) FROM nest_epubarchive ne JOIN nest_epubarchive_subjects nes ON nes.epubarchive_id = ne.id JOIN nest_subject s on s.id = nes.subject_id WHERE s.name = 'Python';
 sum ------- 70254 (1 row)
  • 6. 6
  • 8. 8 => SELECT SUM(duration_seconds) / 60 / 60 FROM nest_epubarchive ne JOIN nest_epubarchive_subjects nes ON nes.epubarchive_id = ne.id JOIN nest_subject s on s.id = nes.subject_id WHERE s.name = 'Python';
 hours ------- 87 (1 row)
  • 9. 9
  • 10.
  • 11. 11
  • 12. What are people writing? 12
  • 13. Python titles by publication year 13 28 23 16 9 8 7 6 6 5 4 4 4 2 2 2 2 2 1 1 1 1 1 1 1 1 201420122010200820062004200220001998
  • 14. …increasingly more advanced 14 Difficulty by publication_date 2010 2011 2012 2013 2014 Beginner Intermediate Advanced
  • 15. …and on more specific subjects 15 Type by publication_date 2010 2011 2012 2013 2014 General Topical
  • 16. More targeted titles than general ones… 16
  • 17. 17 Python version by publication_date 2011 2012 2013 2014 2015 Version 2 Version 3 Both Publication date by Python…
  • 18. 18 Python version by publication_date 2011 2012 2013 2014 2015 Version 2 Version 3 Both Publication date by Python version
  • 19. Programming books are getting shorter 19 2007 2009 2011 2013 2015 400 390 479 380 348 288 224 269 240
  • 21. 21
  • 22. 22 select Python as a topic of interest 10%
  • 23. Popular co-occurring topics 23 Test-driven development Design patterns Google App Engine Raspberry Pi Math & Science Linux Security Analytics/R
  • 24. More women, pls 24 gender by New Recode of source table Python Java .NET C/C++ JavaScript Social Media Female Male
  • 26. Committed readers stay committed 26
  • 27. Committed readers stay committed 27
  • 33. 33 Python version by publication_date 2011 2012 2013 2014 2015 Version 2 Version 3 Both Publication date by Python version
  • 36. Popular advanced topics: NumPy arrays 36
  • 37. Popular advanced topics: Packet-sniffing 37
  • 38. Advanced topics may be underserved 38 ln(rank) by Difficulty Advanced Beginner Intermediate 0 1 2 3 4 5 6 7 8 9 10 11 12 ln(rank) by Difficulty Advanced Beginner
  • 40. Most-annotated 40 Learning Python, 5th Edition Introducing Python Python for Data Analysis Learn Python the Hard Way Python 3 Object Oriented Programming Django Unleashed Flask Web Development Python for Finance Introduction to Tornado Python® Programming for the Absolute Beginner Fluent Python Think Python High Performance Python Learning Python Learning NumPy Array Python 3 Text Processing with NLTK 3 Cookbook Data Structures and Algorithms in Python Programming in Python 3: A Complete Introduction to the Python Language Mastering Object-oriented Python Test-Driven Development with Python Core Python Programming, Second Edition Introduction to Computing Using Python: An Application Development Focus Lightweight Django Pro Django Learning Python Data Visualization Beginning Python®: Using Python 2.6 and Python 3.1 Bioinformatics Programming Using Python Practical Data Science Cookbook Getting Started with Django Mastering Python Design Patterns Django JavaScript Integration: AJAX and jQuery
  • 41. Most-annotated: web apps 41 Learning Python, 5th Edition Introducing Python Python for Data Analysis Learn Python the Hard Way Python 3 Object Oriented Programming Django Unleashed Flask Web Development Python for Finance Introduction to Tornado Python® Programming for the Absolute Beginner Fluent Python Think Python High Performance Python Learning Python Learning NumPy Array Python 3 Text Processing with NLTK 3 Cookbook Data Structures and Algorithms in Python Programming in Python 3: A Complete Introduction to the Python Language Mastering Object-oriented Python Test-Driven Development with Python Core Python Programming, Second Edition Introduction to Computing Using Python: An Application Development Focus Lightweight Django Pro Django Learning Python Data Visualization Beginning Python®: Using Python 2.6 and Python 3.1 Bioinformatics Programming Using Python Practical Data Science Cookbook Getting Started with Django Mastering Python Design Patterns Django JavaScript Integration: AJAX and jQuery
  • 42. Most-annotated: scientific & mathematical 42 Learning Python, 5th Edition Introducing Python Python for Data Analysis Learn Python the Hard Way Python 3 Object Oriented Programming Django Unleashed Flask Web Development Python for Finance Introduction to Tornado Python® Programming for the Absolute Beginner Fluent Python Think Python High Performance Python Learning Python Learning NumPy Array Python 3 Text Processing with NLTK 3 Cookbook Data Structures and Algorithms in Python Programming in Python 3: A Complete Introduction to the Python Language Mastering Object-oriented Python Test-Driven Development with Python Core Python Programming, Second Edition Introduction to Computing Using Python: An Application Development Focus Lightweight Django Pro Django Learning Python Data Visualization Beginning Python®: Using Python 2.6 and Python 3.1 Bioinformatics Programming Using Python Practical Data Science Cookbook Getting Started with Django Mastering Python Design Patterns Django JavaScript Integration: AJAX and jQuery
  • 43. Most-annotated 43 Learning Python, 5th Edition Introducing Python Python for Data Analysis Learn Python the Hard Way Python 3 Object Oriented Programming Django Unleashed Flask Web Development Python for Finance Introduction to Tornado Python® Programming for the Absolute Beginner Fluent Python Think Python High Performance Python Learning Python Learning NumPy Array Python 3 Text Processing with NLTK 3 Cookbook Data Structures and Algorithms in Python Programming in Python 3: A Complete Introduction to the Python Language Mastering Object-oriented Python Test-Driven Development with Python Core Python Programming, Second Edition Introduction to Computing Using Python: An Application Development Focus Lightweight Django Pro Django Learning Python Data Visualization Beginning Python®: Using Python 2.6 and Python 3.1 Bioinformatics Programming Using Python Practical Data Science Cookbook Getting Started with Django Mastering Python Design Patterns Django JavaScript Integration: AJAX and jQuery
  • 44. More Python 3 :( 44 “Two good guides are ‘Porting Python 2 Code to Python 3’ and ‘Porting to Python 3: An in-depth guide’” — High Performance Python “Note that for loops force results from range automatically in 3.X, so we don’t need to use a list wrapper here in 3.X (in 2.X we get a temporary list unless we call xrange instead).” — Learning Python “print is changing to a function in Python 3.0” — Core Python Programming “String templating or formatting is another important topic. The number of ways to do so has expanded with the advent of Python 3…” — Python for Data Analysis
 “Avoid any project that mentions ‘Python 3.’ That’ll only confuse you.” 
 — Learn Python the Hard Way
  • 45. 45 “Any time you are faced with the problem of incremental data processing, you should think of iterators and generators.” 
 — David Beazley & Brian K. Jones “…The core of programming is about ideas: specifically, successfully capturing those ideas in a program so that other people can use them.” — Anthony Briggs “Every programmer has to do these annoying, tedious tasks before they can do something cool.” — Zed A. Shaw
  • 47. Write more Python books! 47 There’s plenty of demand. There’s lots of engagement.
  • 48. Make more Python videos! 48 Good videos are very popular. Video is a great way to reach beginners.
  • 49. More advanced topics needed. 49 Lots of unmet demand for advanced material in algorithms, scientific and mathematical computing, and analytics.
  • 50. Python for ______. 50 Many people learning a programming language who are already experts in their domain. Teach programming without teaching down.
  • 51. Study from the greats 51 Read and watch the experts teach. We’re happy to help you identify good models.