0% found this document useful (0 votes)
21 views5 pages

Python For Programmers

Accelerate your Python mastery with 500+ hands-on examples and real-world case studies. Designed for experienced developers, this guide dives into Python’s core and advanced features—data science, AI, machine learning, NLP, computer vision, and more. Work with Jupyter, IPython, and cloud APIs like IBM Watson and Azure. Learn by coding and build powerful, scalable solutions with modern Python tools.

Uploaded by

Jordan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views5 pages

Python For Programmers

Accelerate your Python mastery with 500+ hands-on examples and real-world case studies. Designed for experienced developers, this guide dives into Python’s core and advanced features—data science, AI, machine learning, NLP, computer vision, and more. Work with Jupyter, IPython, and cloud APIs like IBM Watson and Azure. Learn by coding and build powerful, scalable solutions with modern Python tools.

Uploaded by

Jordan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

1

Introduction to Computers
and Python

Objectives
In this chapter you’ll:
■ Learn about exciting recent developments in computing.

■ Review object-oriented programming basics.

■ Understand the strengths of Python.

■ Be introduced to key Python and data-science libraries you’ll


use in this book.
■ Test-drive the IPython interpreter’s interactive mode for
executing Python code.
■ Execute a Python script that animates a bar chart.

■ Create and test-drive a web-browser-based Jupyter Notebook


for executing Python code.
■ Learn how big “big data” is and how quickly it’s getting even
bigger.
■ Read a big-data case study on a popular mobile navigation
app.
■ Be introduced to artificial intelligence—at the intersection of
computer science and data science.

Humble Bundle Pearson Python Bundle Ð © Pearson. Do Not Distribute.


2 Chapter 1 Introduction to Computers and Python

Outline
1.1 Introduction 1.6 The Cloud and the Internet of Things
1.2 A Quick Review of Object 1.6.1 The Cloud
1.6.2 Internet of Things
Technology Basics
1.7 How Big Is Big Data?
1.3 Python 1.7.1 Big Data Analytics
1.4 It’s the Libraries! 1.7.2 Data Science and Big Data Are Making
1.4.1 Python Standard Library a Difference: Use Cases
1.4.2 Data-Science Libraries 1.8 Case Study—A Big-Data Mobile
1.5 Test-Drives: Using IPython and Application
Jupyter Notebooks 1.9 Intro to Data Science: Artificial
1.5.1 Using IPython Interactive Mode as a Intelligence—at the Intersection of
Calculator
1.5.2 Executing a Python Program Using CS and Data Science
the IPython Interpreter 1.10 Wrap-Up
1.5.3 Writing and Executing Code in a
Jupyter Notebook

1.1 Introduction
Welcome to Python—one of the world’s most widely used computer programming lan-
guages and, according to the Popularity of Programming Languages (PYPL) Index, the
world’s most popular.1
Here, we introduce terminology and concepts that lay the groundwork for the Python
programming you’ll learn in Chapters 2–10 and the big-data, artificial-intelligence and
cloud-based case studies we present in Chapters 11–16.
We’ll review object-oriented programming terminology and concepts. You’ll learn why
Python has become so popular. We’ll introduce the Python Standard Library and various
data-science libraries that help you avoid “reinventing the wheel.” You’ll use these libraries
to create software objects that you’ll interact with to perform significant tasks with modest
numbers of instructions.
Next, you’ll work through three test-drives showing how to execute Python code:
• In the first, you’ll use IPython to execute Python instructions interactively and
immediately see their results.
• In the second, you’ll execute a substantial Python application that will display an
animated bar chart summarizing rolls of a six-sided die as they occur. You’ll see
the “Law of Large Numbers” in action. In Chapter 6, you’ll build this application
with the Matplotlib visualization library.
• In the last, we’ll introduce Jupyter Notebooks using JupyterLab—an interactive,
web-browser-based tool in which you can conveniently write and execute Python
instructions. Jupyter Notebooks enable you to include text, images, audios, vid-
eos, animations and code.
In the past, most computer applications ran on standalone computers (that is, not net-
worked together). Today’s applications can be written with the aim of communicating
among the world’s billions of computers via the Internet. We’ll introduce the Cloud and

1. [Link] (as of January 2019).

Humble Bundle Pearson Python Bundle Ð © Pearson. Do Not Distribute.


1.2 A Quick Review of Object Technology Basics 3

the Internet of Things (IoT), laying the groundwork for the contemporary applications
you’ll develop in Chapters 11–16.
You’ll learn just how big “big data” is and how quickly it’s getting even bigger. Next,
we’ll present a big-data case study on the Waze mobile navigation app, which uses many
current technologies to provide dynamic driving directions that get you to your destina-
tion as quickly and as safely as possible. As we walk through those technologies, we’ll men-
tion where you’ll use many of them in this book. The chapter closes with our first Intro to
Data Science section in which we discuss a key intersection between computer science and
data science—artificial intelligence.

1.2 A Quick Review of Object Technology Basics


As demands for new and more powerful software are soaring, building software quickly,
correctly and economically is important. Objects, or more precisely, the classes objects come
from, are essentially reusable software components. There are date objects, time objects,
audio objects, video objects, automobile objects, people objects, etc. Almost any noun can
be reasonably represented as a software object in terms of attributes (e.g., name, color and
size) and behaviors (e.g., calculating, moving and communicating). Software-development
groups can use a modular, object-oriented design-and-implementation approach to be
much more productive than with earlier popular techniques like “structured program-
ming.” Object-oriented programs are often easier to understand, correct and modify.

Automobile as an Object
To help you understand objects and their contents, let’s begin with a simple analogy. Sup-
pose you want to drive a car and make it go faster by pressing its accelerator pedal. What must
happen before you can do this? Well, before you can drive a car, someone has to design it.
A car typically begins as engineering drawings, similar to the blueprints that describe the
design of a house. These drawings include the design for an accelerator pedal. The pedal
hides from the driver the complex mechanisms that make the car go faster, just as the brake
pedal “hides” the mechanisms that slow the car, and the steering wheel “hides” the mech-
anisms that turn the car. This enables people with little or no knowledge of how engines,
braking and steering mechanisms work to drive a car easily.
Just as you cannot cook meals in the blueprint of a kitchen, you cannot drive a car’s
engineering drawings. Before you can drive a car, it must be built from the engineering
drawings that describe it. A completed car has an actual accelerator pedal to make it go
faster, but even that’s not enough—the car won’t accelerate on its own (hopefully!), so the
driver must press the pedal to accelerate the car.

Methods and Classes


Let’s use our car example to introduce some key object-oriented programming concepts.
Performing a task in a program requires a method. The method houses the program state-
ments that perform its tasks. The method hides these statements from its user, just as the
accelerator pedal of a car hides from the driver the mechanisms of making the car go faster.
In Python, a program unit called a class houses the set of methods that perform the class’s
tasks. For example, a class that represents a bank account might contain one method to

Humble Bundle Pearson Python Bundle Ð © Pearson. Do Not Distribute.


4 Chapter 1 Introduction to Computers and Python

deposit money to an account, another to withdraw money from an account and a third to
inquire what the account’s balance is. A class is similar in concept to a car’s engineering
drawings, which house the design of an accelerator pedal, steering wheel, and so on.

Instantiation
Just as someone has to build a car from its engineering drawings before you can drive a car,
you must build an object of a class before a program can perform the tasks that the class’s
methods define. The process of doing this is called instantiation. An object is then referred
to as an instance of its class.

Reuse
Just as a car’s engineering drawings can be reused many times to build many cars, you can
reuse a class many times to build many objects. Reuse of existing classes when building new
classes and programs saves time and effort. Reuse also helps you build more reliable and
effective systems because existing classes and components often have undergone extensive
testing, debugging and performance tuning. Just as the notion of interchangeable parts was
crucial to the Industrial Revolution, reusable classes are crucial to the software revolution
that has been spurred by object technology.
In Python, you’ll typically use a building-block approach to create your programs. To
avoid reinventing the wheel, you’ll use existing high-quality pieces wherever possible. This
software reuse is a key benefit of object-oriented programming.

Messages and Method Calls


When you drive a car, pressing its gas pedal sends a message to the car to perform a task—
that is, to go faster. Similarly, you send messages to an object. Each message is implemented
as a method call that tells a method of the object to perform its task. For example, a pro-
gram might call a bank-account object’s deposit method to increase the account’s balance.

Attributes and Instance Variables


A car, besides having capabilities to accomplish tasks, also has attributes, such as its color,
its number of doors, the amount of gas in its tank, its current speed and its record of total
miles driven (i.e., its odometer reading). Like its capabilities, the car’s attributes are repre-
sented as part of its design in its engineering diagrams (which, for example, include an
odometer and a fuel gauge). As you drive an actual car, these attributes are carried along
with the car. Every car maintains its own attributes. For example, each car knows how
much gas is in its own gas tank, but not how much is in the tanks of other cars.
An object, similarly, has attributes that it carries along as it’s used in a program. These
attributes are specified as part of the object’s class. For example, a bank-account object has
a balance attribute that represents the amount of money in the account. Each bank-
account object knows the balance in the account it represents, but not the balances of the
other accounts in the bank. Attributes are specified by the class’s instance variables. A
class’s (and its object’s) attributes and methods are intimately related, so classes wrap
together their attributes and methods.

Inheritance
A new class of objects can be created conveniently by inheritance—the new class (called
the subclass) starts with the characteristics of an existing class (called the superclass), pos-

Humble Bundle Pearson Python Bundle Ð © Pearson. Do Not Distribute.


1.3 Python 5

sibly customizing them and adding unique characteristics of its own. In our car analogy,
an object of class “convertible” certainly is an object of the more general class “automo-
bile,” but more specifically, the roof can be raised or lowered.

Object-Oriented Analysis and Design (OOAD)


Soon you’ll be writing programs in Python. How will you create the code for your pro-
grams? Perhaps, like many programmers, you’ll simply turn on your computer and start
typing. This approach may work for small programs (like the ones we present in the early
chapters of the book), but what if you were asked to create a software system to control
thousands of automated teller machines for a major bank? Or suppose you were asked to
work on a team of 1,000 software developers building the next generation of the U.S. air
traffic control system? For projects so large and complex, you should not simply sit down
and start writing programs.
To create the best solutions, you should follow a detailed analysis process for deter-
mining your project’s requirements (i.e., defining what the system is supposed to do), then
develop a design that satisfies them (i.e., specifying how the system should do it). Ideally,
you’d go through this process and carefully review the design (and have your design
reviewed by other software professionals) before writing any code. If this process involves
analyzing and designing your system from an object-oriented point of view, it’s called an
object-oriented analysis-and-design (OOAD) process. Languages like Python are object-
oriented. Programming in such a language, called object-oriented programming (OOP),
allows you to implement an object-oriented design as a working system.

1.3 Python
Python is an object-oriented scripting language that was released publicly in 1991. It was
developed by Guido van Rossum of the National Research Institute for Mathematics and
Computer Science in Amsterdam.
Python has rapidly become one of the world’s most popular programming languages.
It’s now particularly popular for educational and scientific computing,2 and it recently
surpassed the programming language R as the most popular data-science programming
language.3,4,5 Here are some reasons why Python is popular and everyone should consider
learning it:6,7,8
• It’s open source, free and widely available with a massive open-source community.
• It’s easier to learn than languages like C, C++, C# and Java, enabling novices and
professional developers to get up to speed quickly.

2. [Link]
3. [Link]
[Link].
4. [Link]
leaves-them-both-behind/.
5. [Link]
6. [Link]
7. [Link]
8. [Link]

Humble Bundle Pearson Python Bundle Ð © Pearson. Do Not Distribute.

You might also like