Book description
The professional programmer’s Deitel® guide to Python® with introductory artificial intelligence case studies
Written for programmers with a background in another high-level language, Python for Programmers uses hands-on instruction to teach today’s most compelling, leading-edge computing technologies and programming in Python—one of the world’s most popular and fastest-growing languages. Please read the Table of Contents diagram inside the front cover and the Preface for more details.
In the context of 500+, real-world examples ranging from individual snippets to 40 large scripts and full implementation case studies, you’ll use the interactive IPython interpreter with code in Jupyter Notebooks to quickly master the latest Python coding idioms. After covering Python Chapters 1-5 and a few key parts of Chapters 6-7, you’ll be able to handle significant portions of the hands-on introductory AI case studies in Chapters 11-16, which are loaded with cool, powerful, contemporary examples. These include natural language processing, data mining Twitter® for sentiment analysis, cognitive computing with IBM® Watson™, supervised machine learning with classification and regression, unsupervised machine learning with clustering, computer vision through deep learning and convolutional neural networks, deep learning with recurrent neural networks, big data with Hadoop®, Spark™ and NoSQL databases, the Internet of Things and more. You’ll also work directly or indirectly with cloud-based services, including Twitter, Google Translate™, IBM Watson, Microsoft® Azure®, OpenMapQuest, PubNub and more.
Features
500+ hands-on, real-world, live-code examples from snippets to case studies
IPython + code in Jupyter® Notebooks
Library-focused: Uses Python Standard Library and data science libraries to accomplish significant tasks with minimal code
Rich Python coverage: Control statements, functions, strings, files, JSON serialization, CSV, exceptions
Procedural, functional-style and object-oriented programming
Collections: Lists, tuples, dictionaries, sets, NumPy arrays, pandas Series & DataFrames
Static, dynamic and interactive visualizations
Data experiences with real-world datasets and data sources
Intro to Data Science sections: AI, basic stats, simulation, animation, random variables, data wrangling, regression
AI, big data and cloud data science case studies: NLP, data mining Twitter®, IBM® Watson™, machine learning, deep learning, computer vision, Hadoop®, Spark™, NoSQL, IoT
Open-source libraries: NumPy, pandas, Matplotlib, Seaborn, Folium, SciPy, NLTK, TextBlob, spaCy, Textatistic, Tweepy, scikit-learn®, Keras and more
Register your product for convenient access to downloads, updates, and/or corrections as they become available. See inside book for more information.
Table of contents
- Cover Page
- About This E-Book
- Half Title Page
- Series Page
- Title Page
- Copyright Page
- Dedication Page
- Contents
-
Preface
- Jobs Requiring Data Science Skills
- Modular Architecture
- Key Features
- Chapter Dependencies
- Jupyter Notebooks
- Docker
- Special Feature: IBM Watson Analytics and Cognitive Computing
- Teaching Approach
- Software Used in the Book
- Python Documentation
- Getting Your Questions Answered
- Getting Jupyter Help
- Supplements
- Keeping in Touch with the Authors
- Acknowledgments
- About the Authors
- About Deitel® & Associates, Inc.
-
Before You Begin
- Font and Naming Conventions
- Getting the Code Examples
- Structure of the examples Folder
- Installing Anaconda
- Updating Anaconda
- Package Managers
- Installing the Prospector Static Code Analysis Tool
- Installing jupyter-matplotlib
- Installing the Other Packages
- Get a Twitter Developer Account
- Internet Connection Required in Some Chapters
- Slight Differences in Program Outputs
- Getting Your Questions Answered
-
1. Introduction to Computers and Python
- 1.1 Introduction
- 1.2 A Quick Review of Object Technology Basics
- 1.3 Python
- 1.4 It’ s the Libraries!
- 1.5 Test-Drives: Using IPython and Jupyter Notebooks
- 1.6 The Cloud and the Internet of Things
- 1.7 How Big Is Big Data?
- 1.8 Case Study—A Big-Data Mobile Application
- 1.9 Intro to Data Science: Artificial Intelligence—at the Intersection of CS and Data Science
- 1.10 Wrap-Up
-
2. Introduction to Python Programming
- 2.1 Introduction
- 2.2 Variables and Assignment Statements
- 2.3 Arithmetic
- 2.4 Function print and an Intro to Single- and Double-Quoted Strings
- 2.5 Triple-Quoted Strings
- 2.6 Getting Input from the User
- 2.7 Decision Making: The if Statement and Comparison Operators
- 2.8 Objects and Dynamic Typing
- 2.9 Intro to Data Science: Basic Descriptive Statistics
- 2.10 Wrap-Up
-
3. Control Statements
- 3.1 Introduction
- 3.2 Control Statements
- 3.3 if Statement
- 3.4 if else and if
- 3.5 while Statement
- 3.6 for Statement
- 3.7 Augmented Assignments
- 3.8 Sequence-Controlled Iteration; Formatted Strings
- 3.9 Sentinel-Controlled Iteration
- 3.10 Built-In Function range: A Deeper Look
- 3.11 Using Type Decimal for Monetary Amounts
- 3.12 break and continue Statements
- 3.13 Boolean Operators and, or and not
- 3.14 Intro to Data Science: Measures of Central Tendency—Mean, Median and Mode
- 3.15 Wrap-Up
-
4. Functions
- 4.1 Introduction
- 4.2 Defining Functions
- 4.3 Functions with Multiple Parameters
- 4.4 Random-Number Generation
- 4.5 Case Study: A Game of Chance
- 4.6 Python Standard Library
- 4.7 math Module Functions
- 4.8 Using IPython Tab Completion for Discovery
- 4.9 Default Parameter Values
- 4.10 Keyword Arguments
- 4.11 Arbitrary Argument Lists
- 4.12 Methods: Functions That Belong to Objects
- 4.13 Scope Rules
- 4.14 import: A Deeper Look
- 4.15 Passing Arguments to Functions: A Deeper Look
- 4.16 Recursion
- 4.17 Functional-Style Programming
- 4.18 Intro to Data Science: Measures of Dispersion
- 4.19 Wrap-Up
-
5. Sequences: Lists and Tuples
- 5.1 Introduction
- 5.2 Lists
- 5.3 Tuples
- 5.4 Unpacking Sequences
- 5.5 Sequence Slicing
- 5.6 del Statement
- 5.7 Passing Lists to Functions
- 5.8 Sorting Lists
- 5.9 Searching Sequences
- 5.10 Other List Methods
- 5.11 Simulating Stacks with Lists
- 5.12 List Comprehensions
- 5.13 Generator Expressions
- 5.14 Filter, Map and Reduce
- 5.15 Other Sequence Processing Functions
- 5.16 Two-Dimensional Lists
- 5.17 Intro to Data Science: Simulation and Static Visualizations
- 5.18 Wrap-Up
- 6. Dictionaries and Sets
-
7. Array-Oriented Programming with NumPy
- 7.1 Introduction
- 7.2 Creating arrays from Existing Data
- 7.3 array Attributes
- 7.4 Filling arrays with Specific Values
- 7.5 Creating arrays from Ranges
- 7.6 List vs. array Performance: Introducing %timeit
- 7.7 array Operators
- 7.8 NumPy Calculation Methods
- 7.9 Universal Functions
- 7.10 Indexing and Slicing
- 7.11 Views: Shallow Copies
- 7.12 Deep Copies
- 7.13 Reshaping and Transposing
- 7.14 Intro to Data Science: pandas Series and DataFrames
- 7.15 Wrap-Up
-
8. Strings: A Deeper Look
- 8.1 Introduction
- 8.2 Formatting Strings
- 8.3 Concatenating and Repeating Strings
- 8.4 Stripping Whitespace from Strings
- 8.5 Changing Character Case
- 8.6 Comparison Operators for Strings
- 8.7 Searching for Substrings
- 8.8 Replacing Substrings
- 8.9 Splitting and Joining Strings
- 8.10 Characters and Character-Testing Methods
- 8.11 Raw Strings
- 8.12 Introduction to Regular Expressions
- 8.13 Intro to Data Science: Pandas, Regular Expressions and Data Munging
- 8.14 Wrap-Up
-
9. Files and Exceptions
- 9.1 Introduction
- 9.2 Files
- 9.3 Text-File Processing
- 9.4 Updating Text Files
- 9.5 Serialization with JSON
- 9.6 Focus on Security: pickle Serialization and Deserialization
- 9.7 Additional Notes Regarding Files
- 9.8 Handling Exceptions
- 9.9 finally Clause
- 9.10 Explicitly Raising an Exception
- 9.11 (Optional) Stack Unwinding and Tracebacks
- 9.12 Intro to Data Science: Working with CSV Files
- 9.13 Wrap-Up
-
10. Object-Oriented Programming
- 10.1 Introduction
- 10.2 Custom Class Account
- 10.3 Controlling Access to Attributes
- 10.4 Properties for Data Access
- 10.5 Simulating “Private” Attributes
- 10.6 Case Study: Card Shuffling and Dealing Simulation
- 10.7 Inheritance: Base Classes and Subclasses
- 10.8 Building an Inheritance Hierarchy; Introducing Polymorphism
- 10.9 Duck Typing and Polymorphism
- 10.10 Operator Overloading
- 10.11 Exception Class Hierarchy and Custom Exceptions
- 10.12 Named Tuples
- 10.13 A Brief Intro to Python 3.7’s New Data Classes
- 10.14 Unit Testing with Docstrings and doctest
- 10.15 Namespaces and Scopes
- 10.16 Intro to Data Science: Time Series and Simple Linear Regression
- 10.17 Wrap-Up
-
11. Natural Language Processing (NLP)
- 11.1 Introduction
- 11.2 TextBlob1
- 11.3 Visualizing Word Frequencies with Bar Charts and Word Clouds
- 11.4 Readability Assessment with Textatistic
- 11.5 Named Entity Recognition with spaCy
- 11.6 Similarity Detection with spaCy
- 11.7 Other NLP Libraries and Tools
- 11.8 Machine Learning and Deep Learning Natural Language Applications
- 11.9 Natural Language Datasets
- 11.10 Wrap-Up
-
12. Data Mining Twitter
- 12.1 Introduction
- 12.2 Overview of the Twitter APIs
- 12.3 Creating a Twitter Developer Account
- 12.4 Getting Twitter Credentials—Creating an App
- 12.5 What’s in a Twitter API Response?
- 12.6 Installing Tweepy, geopy, folium and deep-translator
- 12.7 Authenticating with Twitter Via Tweepy to Access Twitter v2 APIs
- 12.8 Getting Information About a Twitter Account
- 12.9 Intro to Tweepy Paginators: Getting More Than One Page of Results
- 12.10 Searching Recent Tweets; Intro to Twitter v2 API Search Operators
- 12.11 Spotting Trending Topics
- 12.12 Cleaning/Preprocessing Tweets for Analysis
- 12.13 Twitter Streaming API
- 12.14 Tweet Sentiment Analysis
- 12.15 Geocoding and Mapping
- 12.16 Storing Tweets
- 12.17 Twitter and Time Series
- 12.18 Wrap-Up
- 13. IBM Watson and Cognitive Computing
-
14. Machine Learning: Classification, Regression and Clustering
- 14.1 Introduction to Machine Learning
- 14.2 Case Study: Classification with k-Nearest Neighbors and the Digits Dataset, Part 1
- 14.3 Case Study: Classification with k-Nearest Neighbors and the Digits Dataset, Part 2
- 14.4 Case Study: Time Series and Simple Linear Regression
- 14.5 Case Study: Multiple Linear Regression with the California Housing Dataset
- 14.6 Case Study: Unsupervised Machine Learning, Part 1—Dimensionality Reduction
- 14.7 Case Study: Unsupervised Machine Learning, Part 2—k-Means Clustering
- 14.8 Wrap-Up
-
15. Deep Learning
- 15.1 Introduction
- 15.2 Keras Built-In Datasets
- 15.3 Custom Anaconda Environments
- 15.4 Neural Networks
- 15.5 Tensors
- 15.6 Convolutional Neural Networks for Vision; Multi-Classification with the MNIST Dataset
- 15.7 Visualizing Neural Network Training with TensorBoard
- 15.8 ConvnetJS: Browser-Based Deep-Learning Training and Visualization
- 15.9 Recurrent Neural Networks for Sequences; Sentiment Analysis with the IMDb Dataset
- 15.10 Tuning Deep Learning Models
- 15.11 Convnet Models Pretrained on ImageNet
- 15.12 Wrap-Up
-
16. Big Data: Hadoop, Spark, NoSQL and IoT
- 16.1 Introduction
- 16.2 Relational Databases and Structured Query Language (SQL)
- 16.3 NoSQL and NewSQL Big-Data Databases: A Brief Tour
- 16.4 Case Study: A MongoDB JSON Document Database
- 16.5 Hadoop
- 16.6 Spark
- 16.7 Spark Streaming: Counting Twitter Hashtags Using the pyspark-notebook Docker Stack
- 16.8 Internet of Things and Dashboards
- 16.9 Wrap-Up
- Index
- Code Snippets
Product information
- Title: Python for Programmers
- Author(s):
- Release date: March 2019
- Publisher(s): Pearson
- ISBN: 9780135231364
You might also like
video
Python Programming Language
6+ Hours of Video Instruction Python Programming Language LiveLessons provides developers with a guided tour of …
book
Learning Python, 5th Edition
Get a comprehensive, in-depth introduction to the core Python language with this hands-on book. Based on …
book
Python in a Nutshell, 4th Edition
Python was recently ranked as today's most popular programming language on the TIOBE index, thanks to …
book
Fluent Python
Python’s simplicity lets you become productive quickly, but this often means you aren’t using everything it …