Python for Programmers - Paul Deitel

Python for Programmers

; Harvey Deitel

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. Les mer
Vår pris

(Paperback) Fri frakt!
Leveringstid: Usikker levering*
*Vi bestiller varen fra forlag i utlandet. Dersom varen finnes, sender vi den så snart vi får den til lager

Legg i
Legg i
Vår pris: 760,-

(Paperback) Fri frakt!
Leveringstid: Usikker levering*
*Vi bestiller varen fra forlag i utlandet. Dersom varen finnes, sender vi den så snart vi får den til lager

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.


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 to gain access to updated chapters and material, as well as downloads, future updates, and/or corrections as they become available. See inside book for more information.
Forlag: Pearson
Innbinding: Paperback
Språk: Engelsk
ISBN: 9780135224335
Format: 23 x 18 cm

Bla i alle kategorier

Gi vurdering
Les vurderinger

«“The chapters are clearly written with detailed explanations of the example code. The modular structure, wide range of contemporary data science topics, and code in companion Jupyter notebooks make this a fantastic resource for readers of a variety of backgrounds. Fabulous Big Data chapter—it covers all of the relevant programs and platforms. Great Watson chapter! The chapter provides a great overview of the Watson applications. Also, your translation examples are great because they provide an ‘instant reward’—it’s very satisfying to implement a task and receive results so quickly. Machine Learning is a huge topic, and the chapter serves as a great introduction. I loved the California housing data example—very relevant for business analytics. The chapter was visually stunning.”
—Alison Sanchez, Assistant Professor in Economics, University of San Diego

“A great introduction to Big Data concepts, notably Hadoop, Spark, and IoT. The examples are extremely realistic and practical. The authors do an excellent job of combining programming and data science topics. The material is presented in digestible sections accompanied by engaging interactive examples. Nearly all concepts are accompanied by a worked-out example. A comprehensive overview of object-oriented programming in Python—the use of card image graphics is sure to engage the reader.”
—Garrett Dancik, Eastern Connecticut State University

“Covers some of the most modern Python syntax approaches and introduces community standards for style and documentation. The machine learning chapter does a great job of walking people through the boilerplate code needed for ML in Python. The case studies accomplish this really well. The later examples are so visual. Many of the model evaluation tasks make for really good programming practice. I can see readers feeling really excited about playing with the animations.”
—Elizabeth Wickes, Lecturer, School of Information Sciences, University of Illinois at Urbana-Champaign

“An engaging, highly accessible book that will foster curiosity and motivate beginning data scientists to develop essential foundations in Python programming, statistics, data manipulation, working with APIs, data visualization, machine learning, cloud computing, and more. Great walkthrough of the Twitter APIs—sentiment analysis piece is very useful. I’ve taken several classes that cover natural language processing and this is the first time the tools and concepts have been explained so clearly. I appreciate the discussion of serialization with JSON and pickling and when to use one or the other—with an emphasis on using JSON over pickle—good to know there’s a better, safer way!”
—Jamie Whitacre, Data Science Consultant

“For a while, I have been looking for a book in Data Science using Python that would cover the most relevant technologies. Well, my search is over. A must-have book for any practitioner of this field. The machine learning chapter is a real winner!! The dynamic visualization is fantastic.”
—Ramon Mata-Toledo, Professor, James Madison University

“I like the new combination of topics from computer science, data science, and stats. This is important for building data science programs that are more than just cobbling together math and computer science courses. A book like this may help facilitate expanding our offerings and using Python as a bridge for computer and data science topics. For a data science program that focuses on a single language (mostly), I think Python is probably the way to go.”
—Lance Bryant, Shippensburg University

“You’ll develop applications using industry standard libraries and cloud computing services.”
—Daniel Chen, Data Scientist, Lander Analytics

“Great introduction to Python! This book has my strongest recommendation both as an introduction to Python as well as Data Science.”
—Shyamal Mitra, Senior Lecturer, University of Texas

“IBM Watson is an exciting chapter. The code examples put together a lot of Watson services in a really nifty example.”
—Daniel Chen, Data Scientist, Lander Analytics

“Fun, engaging real-world examples will encourage readers to conduct meaningful data analyses. Provides many of the best explanations of data science concepts I’ve encountered. Introduces the most useful starter machine learning models—does a good job explaining how to choose the best model and what ‘the best’ means. Great overview of all the big data technologies with relevant examples.”
—Jamie Whitacre, Data Science Consultant

“A great introduction to deep learning.”
—Alison Sanchez, University of San Diego

“The best designed Intro to Data Science/Python book I have seen.”
—Roland DePratti, Central Connecticut State University

“I like the new combination of topics from computer science, data science, and stats.”
—Lance Bryant, Shippensburg University

“The book’s applied approach should engage readers. A fantastic job providing background on various machine learning concepts without burdening the users with too many mathematical details.”
—Garrett Dancik, Assoc. Prof. of Computer Science/Bioinformatics, Eastern Connecticut State University

“Helps readers leverage the large number of existing libraries to accomplish tasks with minimal code. Concepts are accompanied by rich Python examples that readers can adapt to implement their own solutions to data science problems. I like that cloud services are used.”
—David Koop, Assistant Professor, U-Mass Dartmouth

“I enjoyed the OOP chapter—doctest unit testing is nice because you can have the test in the actual docstring so things are traveling together. The line-by-line explanations of the static and dynamic visualizations of the die rolling example are just great.”
—Daniel Chen, Data Scientist, Lander Analytics

“A lucid exposition of the fundamentals of Python and Data Science. Thanks for pointing out seeding the random number generator for reproducibility. I like the use of dictionary and set comprehensions for succinct programming. ‘List vs. Array Performance: Introducing %timeit’ is convincing on why one should use ndarrays. Good defensive programming. Great section on Pandas Series and DataFrames—one of the clearest expositions that I have seen. The section on data wrangling is excellent. Natural Language Processing is an excellent chapter! I learned a tremendous amount going through it.”
—Shyamal Mitra, Senior Lecturer, University of Texas

“I like the discussion of exceptions and tracebacks. I really liked the Data Mining Twitter chapter; it focused on a real data source and brought in a lot of techniques for analysis (e.g., visualization, NLP). I like that the Python modules helped hide some of the complexity. Word clouds look cool.”
—David Koop, Assistant Professor, U-Mass Dartmouth

“I love the book! The examples are definitely a high point.”
—Dr. Irene Bruno, George Mason University

“I was very excited to see this book. I like its focus on data science and a general purpose language for writing useful data science programs. The data science portion distinguishes this book from most other introductory Python books.”
—Dr. Harvey Siy, University of Nebraska at Omaha

“I’ve learned a lot in this review process, discovering the exciting field of AI. I’ve liked the Deep Learning chapter, which has left me amazed with the things that have already been achieved in this field.”
—José Antonio González Seco, Consultant

“An impressive hands-on approach to programming meant for exploration and experimentation.”
—Elizabeth Wickes, Lecturer, School of Information Sciences, University of Illinois at Urbana-Champaign

“I was impressed at how easy it was to get started with NLP using Python. A meaningful overview of deep learning concepts, using Keras. I like the streaming example.”
—David Koop, Assistant Professor, U-Mass Dartmouth

“Really like the use of f-strings, instead of the older string-formatting methods. Seeing how easy TextBlob is compared to base NLTK was great. I never made word clouds with shapes before, but I can see this being a motivating example for people getting started with NLP. I’m enjoying the case-study chapters in the latter parts of the book. They are really practical. I really enjoyed working through all the Big Data examples, especially the IoT ones.”
—Daniel Chen, Data Scientist, Lander Analytics

“I really liked the live IPython input-output. The thing that I like most about this product is that it is a Deitel & Deitel book (I’m a big fan) that covers Python.”
—Dr. Mark Pauley, University of Nebraska at Omaha



Preface xvii
Before You Begin xxxiii

Chapter 1: Introduction to Computers and Python 1
1.1 Introduction 2
1.2 A Quick Review of Object Technology Basics 3
1.3 Python 5
1.4 It’s the Libraries! 7
1.5 Test-Drives: Using IPython and Jupyter Notebooks 9
1.6 The Cloud and the Internet of Things 16
1.7 How Big Is Big Data? 17
1.8 Case Study—A Big-Data Mobile Application 24
1.9 Intro to Data Science: Artificial Intelligence—at the Intersection of CS and Data Science 26
1.10 Wrap-Up 29

Chapter 2: Introduction to Python Programming 31
2.1 Introduction 32
2.2 Variables and Assignment Statements 32
2.3 Arithmetic 33
2.4 Function print and an Intro to Single- and Double-Quoted Strings 36
2.5 Triple-Quoted Strings 38
2.6 Getting Input from the User 39
2.7 Decision Making: The if Statement and Comparison Operators 41
2.8 Objects and Dynamic Typing 45
2.9 Intro to Data Science: Basic Descriptive Statistics 46
2.10 Wrap-Up 48

Chapter 3: Control Statements 49
3.1 Introduction 50
3.2 Control Statements 50
3.3 if Statement 51
3.4 if…else and if…elif…else Statements 52
3.5 while Statement 55
3.6 for Statement 55
3.7 Augmented Assignments 57
3.8 Sequence-Controlled Iteration; Formatted Strings 58
3.9 Sentinel-Controlled Iteration 59
3.10 Built-In Function range: A Deeper Look 60
3.11 Using Type Decimal for Monetary Amounts 61
3.12 break and continue Statements 64
3.13 Boolean Operators and, or and not 65
3.14 Intro to Data Science: Measures of Central Tendency—Mean, Median and Mode 67
3.15 Wrap-Up 69

Chapter 4: Functions 71
4.1 Introduction 72
4.2 Defining Functions 72
4.3 Functions with Multiple Parameters 75
4.4 Random-Number Generation 76
4.5 Case Study: A Game of Chance 78
4.6 Python Standard Library 81
4.7 math Module Functions 82
4.8 Using IPython Tab Completion for Discovery 83
4.9 Default Parameter Values 85
4.10 Keyword Arguments 85
4.11 Arbitrary Argument Lists 86
4.12 Methods: Functions That Belong to Objects 87
4.13 Scope Rules 87
4.14 import: A Deeper Look 89
4.15 Passing Arguments to Functions: A Deeper Look 90
4.16 Recursion 93
4.17 Functional-Style Programming 95
4.18 Intro to Data Science: Measures of Dispersion 97
4.19 Wrap-Up 98

Chapter 5: Sequences: Lists and Tuples 101
5.1 Introduction 102
5.2 Lists 102
5.3 Tuples 106
5.4 Unpacking Sequences 108
5.5 Sequence Slicing 110
5.6 del Statement 112
5.7 Passing Lists to Functions 113
5.8 Sorting Lists 115
5.9 Searching Sequences 116
5.10 Other List Methods 117
5.11 Simulating Stacks with Lists 119
5.12 List Comprehensions 120
5.13 Generator Expressions 121
5.14 Filter, Map and Reduce 122
5.15 Other Sequence Processing Functions 124
5.16 Two-Dimensional Lists 126
5.17 Intro to Data Science: Simulation and Static Visualizations 128
5.18 Wrap-Up 135

Chapter 6: Dictionaries and Sets 137
6.1 Introduction 138
6.2 Dictionaries 138
6.3 Sets 147
6.4 Intro to Data Science: Dynamic Visualizations 152
6.5 Wrap-Up 158

Chapter 7: Array-Oriented Programming with NumPy 159
7.1 Introduction 160
7.2 Creating arrays from Existing Data 160
7.3 array Attributes 161
7.4 Filling arrays with Specific Values 163
7.5 Creating arrays from Ranges 164
7.6 List vs. array Performance: Introducing %timeit 165
7.7 array Operators 167
7.8 NumPy Calculation Methods 169
7.9 Universal Functions 170
7.10 Indexing and Slicing 171
7.11 Views: Shallow Copies 173
7.12 Deep Copies 174
7.13 Reshaping and Transposing 175
7.14 Intro to Data Science: pandas Series and DataFrames 177
7.15 Wrap-Up 189

Chapter 8: Strings: A Deeper Look 191
8.1 Introduction 192
8.2 Formatting Strings 193
8.3 Concatenating and Repeating Strings 196
8.4 Stripping Whitespace from Strings 197
8.5 Changing Character Case 197
8.6 Comparison Operators for Strings 198
8.7 Searching for Substrings 198
8.8 Replacing Substrings 199
8.9 Splitting and Joining Strings 200
8.10 Characters and Character-Testing Methods 202
8.11 Raw Strings 203
8.12 Introduction to Regular Expressions 203
8.13 Intro to Data Science: Pandas, Regular Expressions and Data Munging 210
8.14 Wrap-Up 214

Chapter 9: Files and Exceptions 217
9.1 Introduction 218
9.2 Files 219
9.3 Text-File Processing 219
9.4 Updating Text Files 222
9.5 Serialization with JSON 223
9.6 Focus on Security: pickle Serialization and Deserialization 226
9.7 Additional Notes Regarding Files 226
9.8 Handling Exceptions 227
9.9 finally Clause 231
9.10 Explicitly Raising an Exception 233
9.11 (Optional) Stack Unwinding and Tracebacks 233
9.12 Intro to Data Science: Working with CSV Files 235
9.13 Wrap-Up 241

Chapter 10: Object-Oriented Programming 243
10.1 Introduction 244
10.2 Custom Class Account 246
10.3 Controlling Access to Attributes 249
10.4 Properties for Data Access 250
10.5 Simulating “Private” Attributes 256
10.6 Case Study: Card Shuffling and Dealing Simulation 258
10.7 Inheritance: Base Classes and Subclasses 266
10.8 Building an Inheritance Hierarchy; Introducing Polymorphism 267
10.9 Duck Typing and Polymorphism 275
10.10 Operator Overloading 276
10.11 Exception Class Hierarchy and Custom Exceptions 279
10.12 Named Tuples 280
10.13 A Brief Intro to Python 3.7’s New Data Classes 281
10.14 Unit Testing with Docstrings and doctest 287
10.15 Namespaces and Scopes 290
10.16 Intro to Data Science: Time Series and Simple Linear Regression 293
10.17 Wrap-Up 301

Chapter 11: Natural Language Processing (NLP) 303
11.1 Introduction 304
11.2 TextBlob 305
11.3 Visualizing Word Frequencies with Bar Charts and Word Clouds 319
11.4 Readability Assessment with Textatistic 324
11.5 Named Entity Recognition with spaCy 326
11.6 Similarity Detection with spaCy 327
11.7 Other NLP Libraries and Tools 328
11.8 Machine Learning and Deep Learning Natural Language Applications 328
11.9 Natural Language Datasets 329
11.10 Wrap-Up 330

Chapter 12: Data Mining Twitter 331
12.1 Introduction 332
12.2 Overview of the Twitter APIs 334
12.3 Creating a Twitter Account 335
12.4 Getting Twitter Credentials—Creating an App 335
12.5 What’s in a Tweet? 337
12.6 Tweepy 340
12.7 Authenticating with Twitter Via Tweepy 341
12.8 Getting Information About a Twitter Account 342
12.9 Introduction to Tweepy Cursors: Getting an Account’s Followers and Friends 344
12.10 Searching Recent Tweets 347
12.11 Spotting Trends: Twitter Trends API 349
12.12 Cleaning/Preprocessing Tweets for Analysis 353
12.13 Twitter Streaming API 354
12.14 Tweet Sentiment Analysis 359
12.15 Geocoding and Mapping 362
12.16 Ways to Store Tweets 370
12.17 Twitter and Time Series 370
12.18 Wrap-Up 371

Chapter 13: IBM Watson and Cognitive Computing 373
13.1 Introduction: IBM Watson and Cognitive Computing 374
13.2 IBM Cloud Account and Cloud Console 375
13.3 Watson Services 376
13.4 Additional Services and Tools 379
13.5 Watson Developer Cloud Python SDK 381
13.6 Case Study: Traveler’s Companion Translation App 381
13.7 Watson Resources 394
13.8 Wrap-Up 395

Chapter 14: Machine Learning: Classification, Regression and Clustering 397
14.1 Introduction to Machine Learning 398
14.2 Case Study: Classification with k-Nearest Neighbors and the Digits Dataset, Part 1 403
14.3 Case Study: Classification with k-Nearest Neighbors and the Digits Dataset, Part 2 413
14.4 Case Study: Time Series and Simple Linear Regression 420
14.5 Case Study: Multiple Linear Regression with the California Housing Dataset 425
14.6 Case Study: Unsupervised Machine Learning, Part 1—Dimensionality Reduction 438
14.7 Case Study: Unsupervised Machine Learning, Part 2—k-Means Clustering 442
14.8 Wrap-Up 455

Chapter 15: Deep Learning 457
15.1 Introduction 458
15.2 Keras Built-In Datasets 461
15.3 Custom Anaconda Environments 462
15.4 Neural Networks 463
15.5 Tensors 465
15.6 Convolutional Neural Networks for Vision; Multi-Classification with the MNIST Dataset 467
15.7 Visualizing Neural Network Training with TensorBoard 486
15.8 ConvnetJS: Browser-Based Deep-Learning Training and Visualization 489
15.9 Recurrent Neural Networks for Sequences; Sentiment Analysis with the IMDb Dataset 489
15.10 Tuning Deep Learning Models 497
15.11 Convnet Models Pretrained on ImageNet 498
15.12 Wrap-Up 499

Chapter 16: Big Data: Hadoop, Spark, NoSQL and IoT 501
16.1 Introduction 502
16.2 Relational Databases and Structured Query Language (SQL) 506
16.3 NoSQL and NewSQL Big-Data Databases: A Brief Tour 517
16.4 Case Study: A MongoDB JSON Document Database 520
16.5 Hadoop 530
16.6 Spark 541
16.7 Spark Streaming: Counting Twitter Hashtags Using the pyspark-notebook Docker Stack 551
16.8 Internet of Things and Dashboards 560
16.9 Wrap-Up 571

Index 573
Paul Deitel, CEO and Chief Technical Officer of Deitel & Associates, Inc., is a graduate of MIT, where he studied Information Technology. Through Deitel & Associates, Inc., he has delivered hundreds of programming courses worldwide to clients, including Cisco, IBM, Siemens, Sun Microsystems, Dell, Fidelity, NASA at the Kennedy Space Center, the National Severe Storm Laboratory, White Sands Missile Range, Rogue Wave Software, Boeing, SunGard Higher Education, Nortel Networks, Puma, iRobot, Invensys and many more. He and his co-author, Dr. Harvey M. Deitel, are the world’s best-selling programming-language textbook/professional book/video authors.


Dr. Harvey Deitel, Chairman and Chief Strategy Officer of Deitel & Associates, Inc., has over 50 years of experience in the computer field. Dr. Deitel earned B.S. and M.S. degrees in Electrical Engineering from MIT and a Ph.D. in Mathematics from Boston University. He has extensive college teaching experience, including earning tenure and serving as the Chairman of the Computer Science Department at Boston College before founding Deitel & Associates, Inc., in 1991 with his son, Paul. The Deitels’ publications have earned international recognition, with translations published in Japanese, German, Russian, Spanish, French, Polish, Italian, Simplified Chinese, Traditional Chinese, Korean, Portuguese, Greek, Urdu and Turkish. Dr. Deitel has delivered hundreds of programming courses to corporate, academic, government and military clients.