ŷ

Jump to ratings and reviews
Rate this book

Introducing Python: Modern Computing in Simple Packages

Rate this book
With Introducing Python, Bill Lubanovic brings years of knowledge as a programmer, system administrator, and author to a book of impressive depth that remains fun to read and simple enough for non-programmers to learn from. In addition to giving a strong foundation in the language itself, Lubanovic shows how to use it for a range of applications in business, science, and the arts, drawing on the rich collection of open source packages developed by Python fans.

It's impressive how many commercial and production-critical programs are written now in Python. Developed to be easy to read and maintain, it has proven a boon to anyone who wants applications that are quick to write but robust and able to remain in production for the long haul.

This book focuses on the current version of Python, 3.x, while including sidebars about important differences with 2.x for readers who may have to deal with programs in that version.

454 pages, Paperback

First published November 22, 2013

288 people are currently reading
537 people want to read

About the author

Bill Lubanovic

10books26followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
126 (39%)
4 stars
131 (40%)
3 stars
52 (16%)
2 stars
6 (1%)
1 star
5 (1%)
Displaying 1 - 30 of 34 reviews
Profile Image for Anton Antonov.
350 reviews47 followers
November 25, 2015
If you are an experienced programmer and want to test your Python skills or want to pick Python up in a weekend, this is the right book for you. Introducing Python is nothing short of amazing. I'm convinced that this book will show you everything needed to master Python. Full Review >
Profile Image for Michael Koltsov.
109 reviews69 followers
July 19, 2017
This is actually the first book about Python I've read even though I've used it extensively throughout the years.

My perception that this book proves is that Pythonistas are usually not programmers by trade, they'd come to programming either due to a lucky coincidence or by taking a wrong turn on the road of career hopping.

This book has promised to give a broad look on the Python's ecosystem, it actually delivers on what it promises. But this look is so shallow that I can't recommend this book for those who's willing to get a deep dive into Python on a weekend. The technical details it gives look like author's waving the hands in the air with no actual proof that I'm used to in Scala and Java books.

Good book, but I can't recommendit to any professional programmer who's used to technical/programming/mathematical books.

Score 3/5
Profile Image for Thomas Ray.
1,401 reviews484 followers
April 18, 2024

Introducing Python: Modern Computing in Simple Packages, Bill Lubanovic

SECOND EDITION:
Second edition, 2020, 597pp., ISBN 9781492051367

Errata:
p. 49 says 10**googol has 1000 zeroes. No, it has a googol (10**100) of zeroes.

2**(3**4) = 2**81
(2**3)**4 = 2**12


FIRST EDITION:

Introducing Python, Bill Lubanovic, 2015, 454pp. Dewey 005.133



This book is pretty good at getting you coding quickly.


PYTHON

We get examples like this:

cheeses = []
for cheese in cheeses:
print('This shop has some lovely', cheese)
break
else: # no break means no cheese
print('This is not much of a cheese shop, is it?')

(Chapter 4: Py Crust: Code Structures. p. 79 in 2015 edition.)


WARNING: INSTALLING AND RUNNING

The Anaconda installer doesn't support spaces in the file-path name. Instead of "Current User," install as root. The book doesn't warn you of that.


Then, since the executable and your files aren't in your user directory, when you want to run one of your scripts from a Windows powershell, you have to

cd C:\ProgramData\Anaconda3

then you can enter

C:\ProgramData\Anaconda3> python test1.py

to run your 'test1' script, or whatever it may be.

The book doesn't tell you this.

Use Anaconda Navigator to open a Windows PowerShell: doing it from here activates the environment: necessary to get your scripts to run. The book doesn't say this.


has tutorial and quick-start guide
docs.anaconda.com




MODULE SEARCH PATH?

We learn that Python looks for files to import based on a list "in the standard sys module." We don't learn where this module is. Chapter 5: Py Boxes: Modules, Packages, and Programs, p. 113 in the 2015 edition.

CAUTION

CODE SAMPLES from the book: the simple ones work. Those dependent on pulling datasets off the web do not work.


has code examples from the book.


ARITHMETIC: CAUTION

10^2 evaluates to 8.
It's 10**2 that gives 100.

ASSIGNMENT STATEMENTS VS. FUNCTIONS

b = 5
c = 15
a = b + c
a
gives 20. So far so good. Now, though, after
b = 6
a
gives 20.
It's not enough to change the variable values: you have to redefine the function to get its output to change, if reassigning values to variables. You have to again say
a = b + c
now
a
gives 21.

YOU HAVE TO EXPLICITLY
import math

before you can do calculations like

math.sqrt(2)
1.4142135623730951

(although Python can do
2**.5
to give
1.4142135623730951
without the math library.)

math.log(10)
2.302585092994046

math.log(100, 10)
2.0

math.e
2.718281828459045

For the square root of a negative number, you have to explicitly import the complex math library:

import cmath

Then you can do

cmath.sqrt(-1)
1j

However, Python can do all this without importing the cmath library:

Pretty close:
(-1)**.5
(6.123233995736766e-17+1j)

(math.e)**(complex(0, ))
(6.123233995736766e-17+1j)

2.718281828459045**(complex(0, 3.141592653589793/2))
(6.123233995736766e-17+1j)

x = complex(1, 1)
x**2
2j

2j**.5
(1.0000000000000002+1.0000000000000002j)








recommends
PYTHON FOR DATA ANALYSIS, WES MCKINNEY

Python Standard Library online documentation:


The Python Standard Library by Example, Doug Hellmann


Open-source Python software:












Profile Image for Vzh.
27 reviews1 follower
May 31, 2021
Probably good as an intro.
Many topics are not explained.
The second half resembles a long list of package for every business need.
Profile Image for Arda.
191 reviews12 followers
August 7, 2022
I've never programmed before. I might be interested in pursuing data engineering in the future and want to see if I can "get" it and find it interesting and fulfilling. For that purpose I want (basic) Python and pandas knowledge. What I like about this book is that it seems to be targeting people without programming experience (as well as more experienced programmers). For the most part it worked for me. I understood most of it and found some of it entertaining/funny. But I also got frustrated a bit a few times. I have the luxury of being married to a data scientist who was willing to clarify some things for me (actually loving it ;) ).
One thing I would have really liked were more exercises to get more 'experience' and have more time to practice different things a few times.
Profile Image for Carsten.
16 reviews5 followers
May 25, 2018
I needed a quick Python refresher as I want to use Python for machine learning projects. I had used Numpy and SciPy in the past, but haven’t used the language actively for a few years. I’ve read the first 7 chapters of the book and did some of the exercises. I might read chapters 8, 10 and 12 at some point.

I can say that the book is well written and occasionally very funny. Absolute beginners should probably look elsewhere but if you have some programming experience, you can’t go wrong with this book. I continue now to work through Raschka’s Python Machine Learning book and will also soon take a look at Fluent Python by Ramalho and The Hitchhiker’s Guide to Python by Reitz and Schlusser.
Profile Image for Affad Shaikh.
101 reviews12 followers
November 3, 2019
Im new to Python and to programming. My interest in Python stems primarily from my goal to work with data in order to engage on challenges, business and social, that are data focused. In setting out on this path I chose to complete a MS in Data Science after my MBA in finance and strategy (some overlapping is occuring). I created a complitation of topics that I felt I needed to address the gap in knowledge, skill set, and work experience; around this I created a syllabus taking in advice from current Data Scientists, professors in the program I am in, and on LinkedIn as well as from reading a lot of blogs and forums.

Python was by far the oft repeated language to learn and Lubanovica book a must for self learning. However, I fear that I’m not like other programmers, and my learning style is significantly different. While it helped to do the examples and work on the end of chapter excercises, i found my self constantly writing in the margins ‘why is this important?�

Given that this book was written as an introduction my sense of loss is relevant. I came at Python with a singular objective: data science. Lubanovic writes with a clear purpose as well, one that is much broader and wider than my singular focus. To this end this book is amazing. I see myself using it as a reference book to fall back to in order to gain clarity.

However, as in introduction its supposing that the one learning it can piece together lessons toward an end deliverable of some sort. Here, i am incredibly lacking in both ingenuity and clarity. Give me a topic an I can research the crap out of it and present to a classroom, speak to policy makers, create a strategy. Tell me to value a company and I can research and put together financial models to tell you whether to buy, sell or hold and then walk you through the logic. But if you ask me to provide a program in python, I wouldnt know where to begin and I wouldnt know what other books to read besides Lubanovics.

I would be at a complete loss and thats after working through this book. I feel like I am missing the ‘bigger picture� to this. I speculate thats its not for a lack of Lubanovics writing or presentation of Python, but rather my own incomplete understanding of what to do with this information. I sense that this is my learning style- i need a project, an application for what this book goes over. Maybe a book thats a larger project broken down into parts that allows me to reference this books materials to come up with my own code then see it against the authors solutions. Maybe thats why students go to get BS Comp Sci degrees?

I hope this helps. I plan on hitting up ORiellys ‘Python for Data Science� next. So maybe my opinion will change and become clearer as i go through that.
479 reviews4 followers
June 24, 2022
One of the best programming books I have ever read. Python is not my first programming language, but the clear and straightforward way this book is structured helped me understand things I knew how to use but not explain in other languages, so it was helpful on multiple axes. The explanations are clear and simple, and the book gives a good overview of adjacent topics beyond "how to write a function," including digging down into what seemed like Just Enough detail on networking protocols, IDEs, resources for learning more, and commonly used packages within Python. I would absolutely recommend this book both to beginning programmers and to people who know some, but would like refreshers on why basics matter.
Profile Image for Isen.
253 reviews5 followers
February 9, 2023
Introducing Python consists of two parts. The first is a decent enough introduction to Python. It errs on the side of informality and stupid jokes, but does a good job of covering much of the base functionality of the language. The second part dedicates a chapter each to various concrete applications, eg databases, scientific computing, web design. It's hard to see who will benefit from these chapters since to a beginner they contain nowhere near enough information to understand the subject, and to someone who understands said subject and just wants to find the appropriate command in Python, the book offers nothing that a Google query would not.
Profile Image for Anthony.
154 reviews
March 8, 2020
This being 2020, it is a little out of date with some of its suggestions. For example, it recommends IPython, even though that has turned into Jupyter. Also some of the function calls in the appendices were out-of-date. That said, it is a good introduction to Python, covering all the information a good textbook should.

If you need to get up to speed on Python, this is the book for you. However, you will still need to read other books on NumPy, Pandas and other packages to do your data science and machine learning.
1 review
August 15, 2020
There are some concepts more than one that the author literally does not explain at all. He explains simple for loops with 4-5 examples with explanation than show us one nested for loop and goes on without explaining what is happening or how nested for loops are working. I am not exaggerating. He literally just inserts a single nested for loop and says: this is a nested for loop. And proceeds to go on without explaining how it works or what it does. Thank you Mr. Lubanovic....
Profile Image for Ezra.
43 reviews
May 16, 2023
Buen libro para comenzar, puede ser un poco confuso en algunas secciones ya que habla de manera genérica y no profundiza en el tema (aunque se entiende que es introductorio). Cómo recomendación para aquellos que comienzan con Python, recomiendo poner mayor énfasis en la primera sección ya que la segunda sección no vale mucho la pena profundizar en los ejercicios (puede servir, pero en cursos más especializados de acuerdo a las necesidades de tu proyecto te servirán mucho más).
Profile Image for David.
32 reviews1 follower
June 2, 2017
Good review/refresher. The OO chapter could have done a better job explaining things. There are some minor code typos throughout, but nothing egregious. The exercises were generally easy to medium difficulty, but they were useful in solidifying the lessons of each chapter. Overall a pretty good book.
Profile Image for Ben Hughes.
36 reviews
February 4, 2018
This is a pretty good introduction to Python, though perhaps more beginner-oriented. Some of the content is outdated (targeting python 3.3) - features like asyncio are not really covered. This probably serves as an approachable introduction after which reading the official Python documentation is useful.

I'm continuing my study with "The Hitchhiker's Guide to Python" and "Fluent Python".
Profile Image for Cody Uhi.
16 reviews2 followers
August 22, 2019
This is a must-read for any Python programmer. The first 5 chapters contain things that every Python developer should know. The remaining chapters and appendices contain more niche information and serve well as a reference for more specific projects. I wish there was a little more explanation on generators and comprehensions in this book.
45 reviews2 followers
December 30, 2019
I thought this was a decent "intro" book. The author does most examples from the command line and I thought that limited some of the applicability, but he covers a lot of topics even if minimally. He gives lots of references for those interested in diving deeper into topics. Again, sufficient intro book but there may be others that are better.
Profile Image for Burke Fitzpatrick.
Author6 books26 followers
June 26, 2018
This was a great overview of what's possible with Python. It touched on several language features that I don't use that often, and it helped me track down a couple of useful modules that I want to learn more about.
Profile Image for Alessandro Piovaccari.
130 reviews6 followers
September 19, 2018
This is a great book to learn to program in Python. It is very comprehensive and contain a lot of reference for further reading and learning. The only caveat is that the book is a little dated and some of the examples do not work anymore and require a little debugging.
Profile Image for AcidGirl.
368 reviews
January 21, 2022
Nice overview over the Python world, aimed at people with a little coding background in other languages. Funny exercises at the end of each chapter that make slow readers realize how much they have forgotten since the beginning of the chapter.
Profile Image for Roman.
91 reviews3 followers
February 28, 2023
Хорошая книга что бы либо вкатиться в Питон имея уже знания другого ЯП, либо, как в моём случае, что бы вернуться на этот стек после какого то перерыва. Не знаю насколько она подойдёт для вкатывающихся совсем с нуля
251 reviews3 followers
July 7, 2018
Good overview of Python, aimed at non-programmers but covering a wealth of materials. It gives a good overview of the landscape, but its a bit intimidating in its breadth.
Profile Image for Karla.
1,666 reviews15 followers
August 23, 2018
Just didn't get it. It's over my head. It's book-speak, wish it were connected with multi-media clips with visual or auditory learning possibilities
Profile Image for Lukáš Tůma.
15 reviews1 follower
December 26, 2019
Very good book for starting with python and general knowledge of basic programming, however some examples of code use were little bit hard to understand (e.g. property functions).
Profile Image for Cara.
40 reviews4 followers
December 29, 2021
A laugh-out-loud intro to Python with clever and thorough examples. This might be my favorite book.
10 reviews
September 14, 2022
A lot of things aren't explained(properly) making it quite frustrating to read. The examples used are also very shallow. There are other books available giving a better introduction to beginners.
Profile Image for Thomas Ray.
1,401 reviews484 followers
April 18, 2024

Introducing Python: Modern Computing in Simple Packages, Bill Lubanovic

SECOND EDITION:
Second edition, 2020, 597pp., ISBN 9781492051367

Errata:
p. 49 says 10**googol has 1000 zeroes. No, it has a googol (10**100) of zeroes.

2**(3**4) = 2**81
(2**3)**4 = 2**12


FIRST EDITION:

Introducing Python, Bill Lubanovic, 2015, 454pp. Dewey 005.133



This book is pretty good at getting you coding quickly.


PYTHON

We get examples like this:

cheeses = []
for cheese in cheeses:
print('This shop has some lovely', cheese)
break
else: # no break means no cheese
print('This is not much of a cheese shop, is it?')

(Chapter 4: Py Crust: Code Structures. p. 79 in 2015 edition.)


WARNING: INSTALLING AND RUNNING

The Anaconda installer doesn't support spaces in the file-path name. Instead of "Current User," install as root. The book doesn't warn you of that.


Then, since the executable and your files aren't in your user directory, when you want to run one of your scripts from a Windows powershell, you have to

cd C:\ProgramData\Anaconda3

then you can enter

C:\ProgramData\Anaconda3> python test1.py

to run your 'test1' script, or whatever it may be.

The book doesn't tell you this.

Use Anaconda Navigator to open a Windows PowerShell: doing it from here activates the environment: necessary to get your scripts to run. The book doesn't say this.


has tutorial and quick-start guide
docs.anaconda.com




MODULE SEARCH PATH?

We learn that Python looks for files to import based on a list "in the standard sys module." We don't learn where this module is. Chapter 5: Py Boxes: Modules, Packages, and Programs, p. 113 in the 2015 edition.

CAUTION

CODE SAMPLES from the book: the simple ones work. Those dependent on pulling datasets off the web do not work.


has code examples from the book.


ARITHMETIC: CAUTION

10^2 evaluates to 8.
It's 10**2 that gives 100.

ASSIGNMENT STATEMENTS VS. FUNCTIONS

b = 5
c = 15
a = b + c
a
gives 20. So far so good. Now, though, after
b = 6
a
gives 20.
It's not enough to change the variable values: you have to redefine the function to get its output to change, if reassigning values to variables. You have to again say
a = b + c
now
a
gives 21.

YOU HAVE TO EXPLICITLY
import math

before you can do calculations like

math.sqrt(2)
1.4142135623730951

(although Python can do
2**.5
to give
1.4142135623730951
without the math library.)

math.log(10)
2.302585092994046

math.log(100, 10)
2.0

math.e
2.718281828459045

For the square root of a negative number, you have to explicitly import the complex math library:

import cmath

Then you can do

cmath.sqrt(-1)
1j

However, Python can do all this without importing the cmath library:

Pretty close:
(-1)**.5
(6.123233995736766e-17+1j)

(math.e)**(complex(0, ))
(6.123233995736766e-17+1j)

2.718281828459045**(complex(0, 3.141592653589793/2))
(6.123233995736766e-17+1j)

x = complex(1, 1)
x**2
2j

2j**.5
(1.0000000000000002+1.0000000000000002j)








recommends
PYTHON FOR DATA ANALYSIS, WES MCKINNEY

Python Standard Library online documentation:


The Python Standard Library by Example, Doug Hellmann


Open-source Python software:













Profile Image for Gregory Graham.
21 reviews5 followers
January 6, 2016
The book is well organized for someone who already knows how to program, and it covers a lot breadth of not only the Python language, but a lot of the libraries that make Python so useful. The author is obviously very experienced and knowledgable.

This book is perfect for the experienced programmer wanting to learn Python as a new language. It is not suitable for someone who doesn't know how to program.
Profile Image for Quang.
5 reviews11 followers
February 26, 2016
This book is perfect for me on start learning Python.
It's clear and to the point
It covers basics (data, flow, object) in detail and intro on some advanced topics (Web, concurency, debugging).
I would recommend this book to whoever want to begin in Python.
Displaying 1 - 30 of 34 reviews

Can't find what you're looking for?

Get help and learn more about the design.