Introducing Python

Höfundur Bill Lubanovic

Útgefandi O’Reilly Media, Inc.

Snið ePub

Print ISBN 9781492051367

Útgáfa 2

Útgáfuár

5.890 kr.

Description

Efnisyfirlit

  • Preface
  • Audience
  • Changes in the Second Edition
  • Outline
  • Python Versions
  • Conventions Used in This Book
  • Using Code Examples
  • O’Reilly Online Learning
  • How to Contact Us
  • Acknowledgments
  • I. Python Basics
  • 1. A Taste of Py
  • Mysteries
  • Little Programs
  • A Bigger Program
  • Python in the Real World
  • Python Versus the Language from Planet X
  • Why Python?
  • Why Not Python?
  • Python 2 Versus Python 3
  • Installing Python
  • Running Python
  • Using the Interactive Interpreter
  • Using Python Files
  • What’s Next?
  • Your Moment of Zen
  • Coming Up
  • Things to Do
  • 2. Data: Types, Values, Variables, and Names
  • Python Data Are Objects
  • Types
  • Mutability
  • Literal Values
  • Variables
  • Assignment
  • Variables Are Names, Not Places
  • Assigning to Multiple Names
  • Reassigning a Name
  • Copying
  • Choose Good Variable Names
  • Coming Up
  • Things to Do
  • 3. Numbers
  • Booleans
  • Integers
  • Literal Integers
  • Integer Operations
  • Integers and Variables
  • Precedence
  • Bases
  • Type Conversions
  • How Big Is an int?
  • Floats
  • Math Functions
  • Coming Up
  • Things to Do
  • 4. Choose with if
  • Comment with #
  • Continue Lines with
  • Compare with if, elif, and else
  • What Is True?
  • Do Multiple Comparisons with in
  • New: I Am the Walrus
  • Coming Up
  • Things to Do
  • 5. Text Strings
  • Create with Quotes
  • Create with str()
  • Escape with
  • Combine by Using +
  • Duplicate with *
  • Get a Character with []
  • Get a Substring with a Slice
  • Get Length with len()
  • Split with split()
  • Combine by Using join()
  • Substitute by Using replace()
  • Strip with strip()
  • Search and Select
  • Case
  • Alignment
  • Formatting
  • Old style: %
  • New style: {} and format()
  • Newest Style: f-strings
  • More String Things
  • Coming Up
  • Things to Do
  • 6. Loop with while and for
  • Repeat with while
  • Cancel with break
  • Skip Ahead with continue
  • Check break Use with else
  • Iterate with for and in
  • Cancel with break
  • Skip with continue
  • Check break Use with else
  • Generate Number Sequences with range()
  • Other Iterators
  • Coming Up
  • Things to Do
  • 7. Tuples and Lists
  • Tuples
  • Create with Commas and ()
  • Create with tuple()
  • Combine Tuples by Using +
  • Duplicate Items with *
  • Compare Tuples
  • Iterate with for and in
  • Modify a Tuple
  • Lists
  • Create with []
  • Create or Convert with list()
  • Create from a String with split()
  • Get an Item by [ offset ]
  • Get Items with a Slice
  • Add an Item to the End with append()
  • Add an Item by Offset with insert()
  • Duplicate All Items with *
  • Combine Lists by Using extend() or +
  • Change an Item by [ offset ]
  • Change Items with a Slice
  • Delete an Item by Offset with del
  • Delete an Item by Value with remove()
  • Get an Item by Offset and Delete It with pop()
  • Delete All Items with clear()
  • Find an Item’s Offset by Value with index()
  • Test for a Value with in
  • Count Occurrences of a Value with count()
  • Convert a List to a String with join()
  • Reorder Items with sort() or sorted()
  • Get Length with len()
  • Assign with =
  • Copy with copy(), list(), or a Slice
  • Copy Everything with deepcopy()
  • Compare Lists
  • Iterate with for and in
  • Iterate Multiple Sequences with zip()
  • Create a List with a Comprehension
  • Lists of Lists
  • Tuples Versus Lists
  • There Are No Tuple Comprehensions
  • Coming Up
  • Things to Do
  • 8. Dictionaries and Sets
  • Dictionaries
  • Create with {}
  • Create with dict()
  • Convert with dict()
  • Add or Change an Item by [ key ]
  • Get an Item by [key] or with get()
  • Get All Keys with keys()
  • Get All Values with values()
  • Get All Key-Value Pairs with items()
  • Get Length with len()
  • Combine Dictionaries with {**a, **b}
  • Combine Dictionaries with update()
  • Delete an Item by Key with del
  • Get an Item by Key and Delete It with pop()
  • Delete All Items with clear()
  • Test for a Key with in
  • Assign with =
  • Copy with copy()
  • Copy Everything with deepcopy()
  • Compare Dictionaries
  • Iterate with for and in
  • Dictionary Comprehensions
  • Sets
  • Create with set()
  • Convert with set()
  • Get Length with len()
  • Add an Item with add()
  • Delete an Item with remove()
  • Iterate with for and in
  • Test for a Value with in
  • Combinations and Operators
  • Set Comprehensions
  • Create an Immutable Set with frozenset()
  • Data Structures So Far
  • Make Bigger Data Structures
  • Coming Up
  • Things to Do
  • 9. Functions
  • Define a Function with def
  • Call a Function with Parentheses
  • Arguments and Parameters
  • None Is Useful
  • Positional Arguments
  • Keyword Arguments
  • Specify Default Parameter Values
  • Explode/Gather Positional Arguments with *
  • Explode/Gather Keyword Arguments with **
  • Keyword-Only Arguments
  • Mutable and Immutable Arguments
  • Docstrings
  • Functions Are First-Class Citizens
  • Inner Functions
  • Closures
  • Anonymous Functions: lambda
  • Generators
  • Generator Functions
  • Generator Comprehensions
  • Decorators
  • Namespaces and Scope
  • Uses of _ and __ in Names
  • Recursion
  • Async Functions
  • Exceptions
  • Handle Errors with try and except
  • Make Your Own Exceptions
  • Coming Up
  • Things to Do
  • 10. Oh Oh: Objects and Classes
  • What Are Objects?
  • Simple Objects
  • Define a Class with class
  • Attributes
  • Methods
  • Initialization
  • Inheritance
  • Inherit from a Parent Class
  • Override a Method
  • Add a Method
  • Get Help from Your Parent with super()
  • Multiple Inheritance
  • Mixins
  • In self Defense
  • Attribute Access
  • Direct Access
  • Getters and Setters
  • Properties for Attribute Access
  • Properties for Computed Values
  • Name Mangling for Privacy
  • Class and Object Attributes
  • Method Types
  • Instance Methods
  • Class Methods
  • Static Methods
  • Duck Typing
  • Magic Methods
  • Aggregation and Composition
  • When to Use Objects or Something Else
  • Named Tuples
  • Dataclasses
  • Attrs
  • Coming Up
  • Things to Do
  • 11. Modules, Packages, and Goodies
  • Modules and the import Statement
  • Import a Module
  • Import a Module with Another Name
  • Import Only What You Want from a Module
  • Packages
  • The Module Search Path
  • Relative and Absolute Imports
  • Namespace Packages
  • Modules Versus Objects
  • Goodies in the Python Standard Library
  • Handle Missing Keys with setdefault() and defaultdict()
  • Count Items with Counter()
  • Order by Key with OrderedDict()
  • Stack + Queue == deque
  • Iterate over Code Structures with itertools
  • Print Nicely with pprint()
  • Get Random
  • More Batteries: Get Other Python Code
  • Coming Up
  • Things to Do
  • II. Python in Practice
  • 12. Wrangle and Mangle Data
  • Text Strings: Unicode
  • Python 3 Unicode Strings
  • UTF-8
  • Encode
  • Decode
  • HTML Entities
  • Normalization
  • For More Information
  • Text Strings: Regular Expressions
  • Find Exact Beginning Match with match()
  • Find First Match with search()
  • Find All Matches with findall()
  • Split at Matches with split()
  • Replace at Matches with sub()
  • Patterns: Special Characters
  • Patterns: Using Specifiers
  • Patterns: Specifying match() Output
  • Binary Data
  • bytes and bytearray
  • Convert Binary Data with struct
  • Other Binary Data Tools
  • Convert Bytes/Strings with binascii()
  • Bit Operators
  • A Jewelry Analogy
  • Coming Up
  • Things to Do
  • 13. Calendars and Clocks
  • Leap Year
  • The datetime Module
  • Using the time Module
  • Read and Write Dates and Times
  • All the Conversions
  • Alternative Modules
  • Coming Up
  • Things to Do
  • 14. Files and Directories
  • File Input and Output
  • Create or Open with open()
  • Write a Text File with print()
  • Write a Text File with write()
  • Read a Text File with read(), readline(), or readlines()
  • Write a Binary File with write()
  • Read a Binary File with read()
  • Close Files Automatically by Using with
  • Change Position with seek()
  • Memory Mapping
  • File Operations
  • Check Existence with exists()
  • Check Type with isfile()
  • Copy with copy()
  • Change Name with rename()
  • Link with link() or symlink()
  • Change Permissions with chmod()
  • Change Ownership with chown()
  • Delete a File with remove()
  • Directory Operations
  • Create with mkdir()
  • Delete with rmdir()
  • List Contents with listdir()
  • Change Current Directory with chdir()
  • List Matching Files with glob()
  • Pathnames
  • Get a Pathname with abspath()
  • Get a symlink Pathname with realpath()
  • Build a Pathname with os.path.join()
  • Use pathlib
  • BytesIO and StringIO
  • Coming Up
  • Things to Do
  • 15. Data in Time: Processes and Concurrency
  • Programs and Processes
  • Create a Process with subprocess
  • Create a Process with multiprocessing
  • Kill a Process with terminate()
  • Get System Info with os
  • Get Process Info with psutil
  • Command Automation
  • Invoke
  • Other Command Helpers
  • Concurrency
  • Queues
  • Processes
  • Threads
  • concurrent.futures
  • Green Threads and gevent
  • twisted
  • asyncio
  • Redis
  • Beyond Queues
  • Coming Up
  • Things to Do
  • 16. Data in a Box: Persistent Storage
  • Flat Text Files
  • Padded Text Files
  • Tabular Text Files
  • CSV
  • XML
  • An XML Security Note
  • HTML
  • JSON
  • YAML
  • Tablib
  • Pandas
  • Configuration Files
  • Binary Files
  • Padded Binary Files and Memory Mapping
  • Spreadsheets
  • HDF5
  • TileDB
  • Relational Databases
  • SQL
  • DB-API
  • SQLite
  • MySQL
  • PostgreSQL
  • SQLAlchemy
  • Other Database Access Packages
  • NoSQL Data Stores
  • The dbm Family
  • Memcached
  • Redis
  • Document Databases
  • Time Series Databases
  • Graph Databases
  • Other NoSQL
  • Full-Text Databases
  • Coming Up
  • Things to Do
  • 17. Data in Space: Networks
  • TCP/IP
  • Sockets
  • Scapy
  • Netcat
  • Networking Patterns
  • The Request-Reply Pattern
  • ZeroMQ
  • Other Messaging Tools
  • The Publish-Subscribe Pattern
  • Redis
  • ZeroMQ
  • Other Pub-Sub Tools
  • Internet Services
  • Domain Name System
  • Python Email Modules
  • Other Protocols
  • Web Services and APIs
  • Data Serialization
  • Serialize with pickle
  • Other Serialization Formats
  • Remote Procedure Calls
  • XML RPC
  • JSON RPC
  • MessagePack RPC
  • Zerorpc
  • gRPC
  • Twirp
  • Remote Management Tools
  • Big Fat Data
  • Hadoop
  • Spark
  • Disco
  • Dask
  • Clouds
  • Amazon Web Services
  • Google Cloud
  • Microsoft Azure
  • OpenStack
  • Docker
  • Kubernetes
  • Coming Up
  • Things to Do
  • 18. The Web, Untangled
  • Web Clients
  • Test with telnet
  • Test with curl
  • Test with httpie
  • Test with httpbin
  • Python’s Standard Web Libraries
  • Beyond the Standard Library: requests
  • Web Servers
  • The Simplest Python Web Server
  • Web Server Gateway Interface (WSGI)
  • ASGI
  • Apache
  • NGINX
  • Other Python Web Servers
  • Web Server Frameworks
  • Bottle
  • Flask
  • Django
  • Other Frameworks
  • Database Frameworks
  • Web Services and Automation
  • webbrowser
  • webview
  • Web APIs and REST
  • Crawl and Scrape
  • Scrapy
  • BeautifulSoup
  • Requests-HTML
  • Let’s Watch a Movie
  • Coming Up
  • Things to Do
  • 19. Be a Pythonista
  • About Programming
  • Find Python Code
  • Install Packages
  • Use pip
  • Use virtualenv
  • Use pipenv
  • Use a Package Manager
  • Install from Source
  • Integrated Development Environments
  • IDLE
  • PyCharm
  • IPython
  • Jupyter Notebook
  • JupyterLab
  • Name and Document
  • Add Type Hints
  • Test
  • Check with pylint, pyflakes, flake8, or pep8
  • Test with unittest
  • Test with doctest
  • Test with nose
  • Other Test Frameworks
  • Continuous Integration
  • Debug Python Code
  • Use print()
  • Use Decorators
  • Use pdb
  • Use breakpoint()
  • Log Error Messages
  • Optimize
  • Measure Timing
  • Algorithms and Data Structures
  • Cython, NumPy, and C Extensions
  • PyPy
  • Numba
  • Source Control
  • Mercurial
  • Git
  • Distribute Your Programs
  • Clone This Book
  • How You Can Learn More
  • Books
  • Websites
  • Groups
  • Conferences
  • Getting a Python Job
  • Coming Up
  • Things to Do
  • 20. Py Art
  • 2-D Graphics
  • Standard Library
  • PIL and Pillow
  • ImageMagick
  • 3-D Graphics
  • 3-D Animation
  • Graphical User Interfaces
  • Plots, Graphs, and Visualization
  • Matplotlib
  • Seaborn
  • Bokeh
  • Games
  • Audio and Music
  • Coming Up
  • Things to Do
  • 21. Py at Work
  • The Microsoft Office Suite
  • Carrying Out Business Tasks
  • Processing Business Data
  • Extracting, Transforming, and Loading
  • Data Validation
  • Additional Sources of Information
  • Open Source Python Business Packages
  • Python in Finance
  • Business Data Security
  • Maps
  • Formats
  • Draw a Map from a Shapefile
  • Geopandas
  • Other Mapping Packages
  • Applications and Data
  • Coming Up
  • Things to Do
  • 22. Py Sci
  • Math and Statistics in the Standard Library
  • Math Functions
  • Working with Complex Numbers
  • Calculate Accurate Floating Point with decimal
  • Perform Rational Arithmetic with fractions
  • Use Packed Sequences with array
  • Handling Simple Stats with statistics
  • Matrix Multiplication
  • Scientific Python
  • NumPy
  • Make an Array with array()
  • Make an Array with arange()
  • Make an Array with zeros(), ones(), or random()
  • Change an Array’s Shape with reshape()
  • Get an Element with []
  • Array Math
  • Linear Algebra
  • SciPy
  • SciKit
  • Pandas
  • Python and Scientific Areas
  • Coming Up
  • Things to Do
  • A. Hardware and Software for Beginning Programmers
  • Hardware
  • Caveman Computers
  • Electricity
  • Inventions
  • An Idealized Computer
  • The CPU
  • Memory and Caches
  • Storage
  • Inputs
  • Outputs
  • Relative Access Times
  • Software
  • In the Beginning Was the Bit
  • Machine Language
  • Assembler
  • Higher-Level Languages
  • Operating Systems
  • Virtual Machines
  • Containers
  • Distributed Computing and Networks
  • The Cloud
  • Kubernetes
  • B. Install Python 3
  • Check Your Python Version
  • Install Standard Python
  • macOS
  • Windows
  • Linux or Unix
  • Install the pip Package Manager
  • Install virtualenv
  • Other Packaging Solutions
  • Install Anaconda
  • Install Anaconda’s Package Manager conda
  • C. Something Completely Different: Async
  • Coroutines and Event Loops
  • Asyncio Alternatives
  • Async Versus…
  • Async Frameworks and Servers
  • D. Answers to Exercises
  • 1. A Taste of Py
  • 2. Data: Types, Values, Variables, and Names
  • 3. Numbers
  • 4. Choose with if
  • 5. Text Strings
  • 6. Loop with while and for
  • 7. Tuples and Lists
  • 8. Dictionaries
  • 9. Functions
  • 10. Oh Oh: Objects and Classes
  • 11. Modules, Packages, and Goodies
  • 12. Wrangle and Mangle Data
  • 13. Calendars and Clocks
  • 14. Files and Directories
  • 15. Data in Time: Processes and Concurrency
  • 16. Data in a Box: Persistent Storage
  • 17. Data in Space: Networks
  • 18. The Web, Untangled
  • 19. Be a Pythonista
  • 20. Py Art
  • 21. Py at Work
  • 22. PySci
  • E. Cheat Sheets
  • Operator Precedence
  • String Methods
  • Change Case
  • Search
  • Modify
  • Format
  • String Type
  • String Module Attributes
  • Coda
  • Index
Show More

Additional information

Veldu vöru

Rafbók til eignar

Aðrar vörur

0
    0
    Karfan þín
    Karfan þín er tómAftur í búð