Programming Python. Powerful Object-Oriented Programming. 4th Edition
- Autor:
- Mark Lutz
- Promocja Przejdź
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 1632
- Dostępne formaty:
-
ePubMobi
Opis
książki
:
Programming Python. Powerful Object-Oriented Programming. 4th Edition
If you've mastered Python's fundamentals, you're ready to start using it to get real work done. Programming Python will show you how, with in-depth tutorials on the language's primary application domains: system administration, GUIs, and the Web. You'll also explore how Python is used in databases, networking, front-end scripting layers, text processing, and more. This book focuses on commonly used tools and libraries to give you a comprehensive understanding of Python’s many roles in practical, real-world programming.
You'll learn language syntax and programming techniques in a clear and concise manner, with lots of examples that illustrate both correct usage and common idioms. Completely updated for version 3.x, Programming Python also delves into the language as a software development tool, with many code examples scaled specifically for that purpose.
Topics include:
- Quick Python tour: Build a simple demo that includes data representation, object-oriented programming, object persistence, GUIs, and website basics
- System programming: Explore system interface tools and techniques for command-line scripting, processing files and folders, running programs in parallel, and more
- GUI programming: Learn to use Python’s tkinter widget library
- Internet programming: Access client-side network protocols and email tools, use CGI scripts, and learn website implementation techniques
- More ways to apply Python: Implement data structures, parse text-based information, interface with databases, and extend and embed Python
Wybrane bestsellery
-
Bestseller Nowość Promocja Promocja 2za1
Sztuczna inteligencja stale się rozwija. Właściwie codziennie słyszymy o jej rosnących możliwościach, nowych osiągnięciach i przyszłości, jaką nam przyniesie. Jednak w tej książce skupiamy się nie na przyszłości, a na teraźniejszości i praktycznym obliczu AI - na usługach, które świadczy już dziś. Większość najciekawszych zastosowań sztucznej inteligencji bazuje na ML (uczenie maszynowe, ang. machine learning), NLP (przetwarzanie języka naturalnego, ang. natural language processing) i architekturze RAG (ang. retrieval augmented generation) zwiększającej możliwości tzw. dużych modeli językowych (LLM, ang. large language model). Stanowią one podwaliny budowy systemów AI, bez których te systemy często wcale nie mogłyby powstać.- Druk
- PDF + ePub + Mobi pkt
(47,40 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł (-40%) -
Nowość Promocja Promocja 2za1
Przetwarzanie obrazów to dynamicznie rozwijająca się dziedzina, która znajduje zastosowanie w licznych branżach, takich jak medycyna, motoryzacja, przemysł rozrywkowy, bezpieczeństwo, rolnictwo czy marketing. Umożliwia automatyczne rozpoznawanie obiektów, analizę obrazów medycznych i tworzenie interaktywnych aplikacji korzystających ze sztucznej inteligencji. Warto się zagłębić w techniki przetwarzania obrazów, które stały się dostępniejsze i skuteczniejsze niż kiedykolwiek wcześniej dzięki lepszemu wykorzystaniu mocy obliczeniowej niezbędnej do procesowania sieci konwolucyjnych (CNN) i algorytmów YOLO. Ponadto modele generatywne, jak DALL-E czy Midjourney, oferują możliwości generowania obrazów na potrzeby trenowania modeli AI, co pozwala zwiększać różnorodność i wielkość puli danych (ang. data augmentation). Powszechnym narzędziem w segmencie computer vision jest biblioteka OpenCV. Jest używana do analizy obrazów, rozpoznawania obiektów, detekcji twarzy, wykrywania ruchu czy segmentacji obrazów. OpenCV oferuje dostęp do szerokiego zakresu narzędzi i algorytmów, a dobre opanowanie biblioteki otwiera drzwi do ciekawych projektów związanych z widzeniem komputerowym. Umiejętność przetwarzania obrazów jest niezwykle ceniona na rynku pracy – specjaliści mogą liczyć na atrakcyjne stanowiska i różnorodne wyzwania technologiczne.- Videokurs pkt
(34,65 zł najniższa cena z 30 dni)
64.35 zł
99.00 zł (-35%) -
Bestseller Nowość Promocja Promocja 2za1
Język programowania ogólnego przeznaczenia Python należy obecnie do najpopularniejszych na świecie. Skąd się bierze jego fenomen? Niewątpliwie kluczowe znaczenie ma tu bardzo czytelna składnia, mocno zbliżona do składni języka naturalnego. Czyni to Pythona dość łatwym do opanowania, także dla początkujących. Osoby bardziej doświadczone doceniają go za wszechstronność. Pythona można używać w różnych dziedzinach, takich jak analiza danych, sztuczna inteligencja, tworzenie stron internetowych, automatyka i automatyzacja, pisanie aplikacji mobilnych i wiele innych. Dodajmy do tego rozbudowany pakiet bibliotek standardowych i oto mamy (niemal) idealny język programowania.- Druk
- PDF + ePub + Mobi pkt
(35,40 zł najniższa cena z 30 dni)
35.40 zł
59.00 zł (-40%) -
Nowość Promocja Promocja 2za1
Tę książkę docenią w szczególności analitycy danych. Wyjaśniono w niej potencjał wnioskowania przyczynowego w zakresie szacowania wpływu i efektów w biznesie. Opisano klasyczne metody wnioskowania przyczynowego, w tym testy A/B, regresja liniowa, wskaźnik skłonności, metoda syntetycznej kontroli i metoda różnicy w różnicach, przy czym skoncentrowano się przede wszystkim na praktycznym aspekcie tych technik. Znalazło się tu również omówienie nowoczesnych rozwiązań, takich jak wykorzystanie uczenia maszynowego do szacowania heterogenicznych efektów. Każda metoda została zilustrowana opisem zastosowania w branży technologicznej.- Druk
- PDF + ePub + Mobi pkt
(44,94 zł najniższa cena z 30 dni)
44.94 zł
74.90 zł (-40%) -
Bestseller Promocja Promocja 2za1
Tę książkę docenią średnio zaawansowani użytkownicy Pythona, którzy tworzą aplikacje korzystające z osiągnięć nauki o danych. Znajdziesz w niej omówienie możliwości języka, wbudowanych struktur danych Pythona, jak również takich bibliotek jak NumPy, pandas, scikit-learn i matplotlib. Nauczysz się wczytywania danych w różnych formatach, porządkowania, grupowania i agregowana zbiorów danych, a także tworzenia wykresów i map. Poszczególne zagadnienia zostały zilustrowane praktycznymi przykładami tworzenia rzeczywistych aplikacji, takich jak system obsługi taksówek z wykorzystaniem danych lokalizacyjnych, analiza reguł asocjacyjnych dla danych transakcji czy też uczenie maszynowe modelu przewidującego zmiany kursów akcji. Każdy rozdział zawiera interesujące ćwiczenia, które pozwolą Ci nabrać biegłości w stosowaniu opisanych tu technik.- Druk
- PDF + ePub + Mobi pkt
(41,40 zł najniższa cena z 30 dni)
41.40 zł
69.00 zł (-40%) -
Promocja Promocja 2za1
Internet rozwija się w niesamowitym tempie. Dawniej sieć WWW była prostsza ― projektanci łączyli kod PHP, HTML i zapytania do MySQL w jednym pliku. Z czasem urosła do miliardów stron, co radykalnie zmieniło jej kształt. Zmieniły się też narzędzia i sposób pracy. Dziś idealnym wyborem dewelopera aplikacji WWW jest FastAPI, nowoczesne narzędzie, które wykorzystuje nowe cechy Pythona i z powodzeniem rywalizuje z podobnymi frameworkami języka Golang.- Druk
- PDF + ePub + Mobi pkt
(34,50 zł najniższa cena z 30 dni)
41.40 zł
69.00 zł (-40%) -
Bestseller Promocja Promocja 2za1
Dzięki tej książce dowiesz się, jak pozyskiwać, analizować i wizualizować dane, a potem używać ich do rozwiązywania problemów biznesowych. Wystarczy, że znasz podstawy Pythona i matematyki na poziomie liceum, aby zacząć stosować naukę o danych w codziennej pracy. Znajdziesz tu szereg praktycznych i zrozumiałych przykładów: od usprawniania działalności wypożyczalni rowerów, poprzez wyodrębnianie danych z witryn internetowych, po budowę systemów rekomendacyjnych. Poznasz rozwiązania oparte na danych, przydatne w podejmowaniu decyzji biznesowych. Nauczysz się korzystać z eksploracyjnej analizy danych, przeprowadzać testy A/B i klasyfikację binarną, a także używać algorytmów uczenia maszynowego.- Druk
- PDF + ePub + Mobi pkt
(41,40 zł najniższa cena z 30 dni)
41.40 zł
69.00 zł (-40%) -
Promocja Promocja 2za1
Ta książka wyjaśni Ci rolę matematyki w tworzeniu, renderowaniu i zmienianiu wirtualnych środowisk 3D, a ponadto pozwoli odkryć tajemnice najpopularniejszych dzisiaj silników gier. Za sprawą licznych praktycznych ćwiczeń zorientujesz się, co się kryje za rysowaniem linii i kształtów graficznych, stosowaniem wektorów i wierzchołków, budowaniem i renderowaniem siatek, jak również przekształcaniem wierzchołków. Nauczysz się używać kodu Pythona, a także bibliotek Pygame i PyOpenGL do budowy własnych silników. Dowiesz się też, jak tworzyć przydatne API i korzystać z nich podczas pisania własnych aplikacji.- Druk
- PDF + ePub + Mobi pkt
(44,50 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł (-40%) -
Promocja Promocja 2za1
Oto zaktualizowane wydanie popularnego przewodnika, dzięki któremu skorzystasz z ponad dwustu sprawdzonych receptur bazujących na najnowszych wydaniach bibliotek Pythona. Wystarczy, że skopiujesz i dostosujesz kod do swoich potrzeb. Możesz też go uruchamiać i testować za pomocą przykładowego zbioru danych. W książce znajdziesz receptury przydatne do rozwiązywania szerokiego spektrum problemów, od przygotowania i wczytania danych aż po trenowanie modeli i korzystanie z sieci neuronowych. W ten sposób wyjdziesz poza rozważania teoretyczne czy też matematyczne koncepcje i zaczniesz tworzyć aplikacje korzystające z uczenia maszynowego.- Druk
- PDF + ePub + Mobi pkt
(53,40 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł (-40%) -
Promocja Promocja 2za1
Oto uzupełnione i zaktualizowane wydanie bestsellerowego przewodnika dla inżynierów sieci. Dzięki niemu przejdziesz trudną (ale ekscytującą!) drogę od tradycyjnej platformy do platformy sieciowej opartej na najlepszych praktykach programistycznych. Zaczniesz od zagadnień podstawowych, aby następnie zagłębić się w tajniki stosowania bibliotek Pexpect, Paramiko czy Netmiko do komunikacji z urządzeniami sieciowymi. W kolejnych rozdziałach znajdziesz solidny przegląd różnych narzędzi wraz ze sposobami ich użycia: Cisco NX-API, Meraki, Juniper PyEZ, Ansible, Scapy, PySNMP, Flask, Elastic Stack i wielu innych. Rozeznasz się również w kwestiach związanych z kontenerami Dockera, a także usługami sieciowymi chmur AWS i Azure. Lektura tej książki pozwoli Ci się w pełni przygotować na następną generację sieci!- Druk
- PDF + ePub + Mobi pkt
(77,40 zł najniższa cena z 30 dni)
77.40 zł
129.00 zł (-40%)
O autorze książki
Mark Lutz od 30 lat zajmuje się programowaniem. Dziś jest jedną z najważniejszych postaci w świecie Pythona. Napisał kilka popularnych, wielokrotnie wznawianych książek o programowaniu w tym języku. Przeprowadził też kilkaset sesji treningowych poświęconych Pythonowi. Zanim w 1992 roku zainteresował się tym językiem, zajmował się implementacją Prologa i pracował nad kompilatorami, narzędziami programistycznymi, aplikacjami skryptowymi oraz systemami klient-serwer.
Mark Lutz - pozostałe książki
-
Promocja Promocja 2za1
To kompleksowy podręcznik do nauki programowania w Pythonie. Jego piąte wydanie zostało gruntownie zaktualizowane i rozbudowane o dodatkowe treści. Omówiono tu najnowsze wersje Pythona w liniach 3.X i 2.X, czyli 3.3 i 2.7, i dodano opisy nowych lub rozszerzonych mechanizmów, takich jak obsługa formatu JSON, moduł timeit, pakiet PyPy, metoda os.popen, generatory, rekurencje, słabe referencje, atrybuty i metody __mro__, __iter__, super, __slots__, metaklasy, deskryptory, funkcja random, pakiet Sphinx i wiele innych. W książce znalazło się mnóstwo ćwiczeń, quizów, pomocnych ilustracji oraz przykładów kodu. Jest to kompendium dla każdego, kto chce szybko zacząć programować w Pythonie i tworzyć wydajny kod o wysokiej jakości.- Druk
- PDF + ePub + Mobi pkt
(119,40 zł najniższa cena z 30 dni)
119.40 zł
199.00 zł (-40%) -
Promocja Promocja 2za1
Jeżeli jednak chcesz mieć zawsze pod ręką sprawdzone źródło informacji, które pozwoli Ci w każdej sytuacji rozwiać wątpliwości, to trafiłeś na doskonałą pozycję. Należy ona do serii Leksykon kieszonkowy i charakteryzuje się niezwykle zwięzłym, przejrzystym układem najważniejszych treści oraz poręczną formą. Znajdziesz tu szczegółowe informacje na temat typów wbudowanych, wyjątków, programowania obiektowego oraz przetwarzania nazw i reguł zasięgu. Kolejne wydanie tej książki zostało ulepszone i zaktualizowane o mnóstwo nowych informacji, takich jak wykorzystanie Python Launcher w systemie Windows czy formalne reguły dziedziczenia. To doskonałe źródło informacji na temat języka Python!- Druk
- PDF + ePub + Mobi pkt
(29,94 zł najniższa cena z 30 dni)
29.94 zł
49.90 zł (-40%) -
Promocja Promocja 2za1
Updated for both Python 3.4 and 2.7, this convenient pocket guide is the perfect on-the-job quick reference. You’ll find concise, need-to-know information on Python types and statements, special method names, built-in functions and exceptions, commonly used standard library modules, and other prominent Python tools. The handy index lets you pinpoin- ePub + Mobi pkt
(46,74 zł najniższa cena z 30 dni)
46.74 zł
54.99 zł (-15%) -
Promocja Promocja 2za1
Get a comprehensive, in-depth introduction to the core Python language with this hands-on book. Based on author Mark Lutz’s popular training course, this updated fifth edition will help you quickly write efficient, high-quality code with Python. It’s an ideal way to begin, whether you’re new to programming or a professional developer versed in othe- ePub + Mobi pkt
(228,65 zł najniższa cena z 30 dni)
237.15 zł
279.00 zł (-15%) -
Niniejsza książka należy do popularnej serii Leksykon kieszonkowy, dzięki której zawsze i wszędzie możesz przypomnieć sobie wybrane zagadnienia, związane z różną tematyką. Pozycja, którą właśnie trzymasz w rękach, została poświęcona językowi Python. W trakcie jej lektury zapoznasz się z takimi zagadnieniami, jak sterowanie przepływem programu, wykorzystanie pętli, list, słowników oraz operacje na plikach. Ponadto w każdej chwili będziesz mógł sprawdzić składnię oraz sposoby wykorzystania funkcji i wyjątków wbudowanych. Książka stanowi znakomite kompendium wiedzy na temat języka Python. Sprawdzi się ona w rękach początkującego użytkownika - jako przewodnik, a w rękach zaawansowanego programisty - jako pomocnik.
- Druk
- PDF + ePub + Mobi pkt
Niedostępna
-
Dzięki tej książce zapoznasz się z podstawowymi typami wbudowanymi Pythona, takimi jak liczby, listy oraz słowniki, nauczysz się tworzyć i przetwarzać obiekty za pomocą instrukcji Pythona, a także opanujesz ogólny model składni tego języka, stworzysz strukturę kodu i wykorzystasz kod ponownie dzięki podstawowym narzędziom proceduralnym Pythona, dowiesz się wszystkiego o modułach Pythona - pakietach instrukcji i funkcji oraz innych narzędziach zorganizowanych w większe komponenty, odkryjesz narzędzie programowania zorientowanego obiektowo, umożliwiające strukturyzację kodu, opanujesz model obsługi wyjątków i narzędzia programistyczne służące do pisania większych programów, zapoznasz się z zaawansowanymi narzędziami Pythona, w tym dekoratorami, deskryptorami, metaklasami i przetwarzaniem tekstu Unicode.
- Druk
- PDF + ePub + Mobi pkt
Niedostępna
-
Książka Python. Wprowadzenie. Wydanie III stanowi kompletny i szczegółowy przewodnik po podstawach języka Python. Wiedza w niej zawarta umożliwia pełne zrozumienie tego języka, co pozwoli Ci pojąć dowolne przykłady kodu na poziomie aplikacji. Zwięźle i jasno przedstawione przykłady świetnie ilustrują poszczególne kwestie i problemy, co daje solidny fundament do praktycznego zastosowania świeżo nabytych umiejętności. Ta książka ma wszystko, czego potrzebujesz, aby nie tylko dokładnie poznać język Python, ale także efektywnie z niego korzystać!
- Druk pkt
Niedostępna
-
Promocja Promocja 2za1
This is the book to reach for when you're coding on the fly and need an answer now. It's an easy-to-use reference to the core language, with descriptions of commonly used modules and toolkits, and a guide to recent changes, new features, and upgraded built-ins -- all updated to cover Python 3.X as well as version 2.6. You'll also quickly find exact- ePub + Mobi pkt
(46,74 zł najniższa cena z 30 dni)
46.74 zł
54.99 zł (-15%) -
Promocja Promocja 2za1
Portable, powerful, and a breeze to use, Python is ideal for both standalone programs and scripting applications. With this hands-on book, you can master the fundamentals of the core Python language quickly and efficiently, whether you're new to programming or just new to Python. Once you finish, you will know enough about the language to use it in- ePub + Mobi pkt
(118,15 zł najniższa cena z 30 dni)
118.15 zł
139.00 zł (-15%) -
Promocja Promocja 2za1
Already the industry standard for Python users, ProgrammingPython fromO'Reilly just got even better. This third edition has been updated toreflect current best practices andthe abundance of changes introduced by the latest version of thelanguage, Python 2.5.Whether you're a novice or an advancedpractitioner, you'll find thisrefreshed book more than- ePub + Mobi pkt
(177,65 zł najniższa cena z 30 dni)
177.65 zł
209.00 zł (-15%)
Ebooka "Programming Python. Powerful Object-Oriented Programming. 4th Edition" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Booxs i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Programming Python. Powerful Object-Oriented Programming. 4th Edition" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Programming Python. Powerful Object-Oriented Programming. 4th Edition" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły książki
- ISBN Ebooka:
- 978-14-493-0275-7, 9781449302757
- Data wydania ebooka :
- 2010-12-14 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@helion.pl.
- Język publikacji:
- 1
- Rozmiar pliku ePub:
- 18.2MB
- Rozmiar pliku Mobi:
- 51.1MB
- Zgłoś erratę
- Kategorie:
Programowanie » Python - Programowanie
Spis treści książki
- Programming Python
- A Note Regarding Supplemental Files
- Preface
- And Now for Something Completely Different
- About This Book
- This Books Ecosystem
- What This Book Is Not
- About This Fourth Edition
- Specific Changes in This Edition
- Whats Left, Then?
- Python 3.X Impacts on This Book
- Specific 3.X Changes
- Language Versus Library: Unicode
- Python 3.1 Limitations: Email, CGI
- Using Book Examples
- Where to Look for Examples and Updates
- Example Portability
- Demo Launchers
- Code Reuse Policies
- Contacting OReilly
- Conventions Used in This Book
- Acknowledgments
- I. The Beginning
- 1. A Sneak Preview
- Programming Python: The Short Story
- The Task
- Step 1: Representing Records
- Using Lists
- Start-up pointers
- A database list
- Field labels
- Using Dictionaries
- Other ways to make dictionaries
- Lists of dictionaries
- Nested structures
- Dictionaries of dictionaries
- Using Lists
- Step 2: Storing Records Persistently
- Using Formatted Files
- Test data script
- File name conventions
- Script start-up pointers
- Data format script
- Utility scripts
- Using Pickle Files
- Using Per-Record Pickle Files
- Using Shelves
- Using Formatted Files
- Step 3: Stepping Up to OOP
- Using Classes
- Adding Behavior
- Adding Inheritance
- Refactoring Code
- Augmenting methods
- Display format
- Constructor customization
- Alternative classes
- Adding Persistence
- Other Database Options
- Step 4: Adding Console Interaction
- A Console Shelve Interface
- Step 5: Adding a GUI
- GUI Basics
- Using OOP for GUIs
- Getting Input from a User
- A GUI Shelve Interface
- Coding the GUI
- Using the GUI
- Future directions
- Step 6: Adding a Web Interface
- CGI Basics
- GUIs versus the Web
- Running a Web Server
- Using Query Strings and urllib
- Formatting Reply Text
- A Web-Based Shelve Interface
- Coding the website
- Directories, string formatting, and security
- Using the website
- Future directions
- CGI Basics
- The End of the Demo
- 1. A Sneak Preview
- II. System Programming
- 2. System Tools
- The os.path to Knowledge
- Why Python Here?
- The Next Five Chapters
- System Scripting Overview
- Python System Modules
- Module Documentation Sources
- Paging Documentation Strings
- A Custom Paging Script
- String Method Basics
- Other String Concepts in Python 3.X: Unicode and bytes
- File Operation Basics
- Using Programs in Two Ways
- Python Library Manuals
- Commercially Published References
- Introducing the sys Module
- Platforms and Versions
- The Module Search Path
- The Loaded Modules Table
- Exception Details
- Other sys Module Exports
- Introducing the os Module
- Tools in the os Module
- Administrative Tools
- Portability Constants
- Common os.path Tools
- Running Shell Commands from Scripts
- Whats a shell command?
- Running shell commands
- Communicating with shell commands
- The subprocess module alternative
- Shell command limitations
- Other os Module Exports
- The os.path to Knowledge
- 3. Script Execution Context
- Id Like to Have an Argument, Please
- Current Working Directory
- CWD, Files, and Import Paths
- CWD and Command Lines
- Command-Line Arguments
- Parsing Command-Line Arguments
- Shell Environment Variables
- Fetching Shell Variables
- Changing Shell Variables
- Shell Variable Fine Points: Parents, putenv, and getenv
- Standard Streams
- Redirecting Streams to Files and Programs
- Chaining programs with pipes
- Coding alternatives for adders and sorters
- Redirected Streams and User Interaction
- Redirecting Streams to Python Objects
- The io.StringIO and io.BytesIO Utility Classes
- Capturing the stderr Stream
- Redirection Syntax in Print Calls
- Other Redirection Options: os.popen and subprocess Revisited
- Redirecting input or output with os.popen
- Redirecting input and output with subprocess
- Redirecting Streams to Files and Programs
- 4. File and Directory Tools
- Erase Your Hard Drive in Five Easy Steps!
- File Tools
- The File Object Model in Python 3.X
- Using Built-in File Objects
- Output files
- Opening
- Writing
- Closing
- Ensuring file closure: Exception handlers and context managers
- Input files
- Reading lines with file iterators
- Other open options
- Output files
- Binary and Text Files
- Unicode encodings for text files
- End-of-line translations for text files
- Parsing packed binary data with the struct module
- Random access files
- Lower-Level File Tools in the os Module
- Using os.open files
- os.open mode flags
- Wrapping descriptors in file objects
- Other os module file tools
- File Scanners
- File filters
- Directory Tools
- Walking One Directory
- Running shell listing commands with os.popen
- The glob module
- The os.listdir call
- Splitting and joining listing results
- Walking Directory Trees
- The os.walk visitor
- Recursive os.listdir traversals
- Handling Unicode Filenames in 3.X: listdir, walk, glob
- Unicode policies: File content versus file names
- Walking One Directory
- 5. Parallel System Tools
- Telling the Monkeys What to Do
- Forking Processes
- The fork/exec Combination
- os.exec call formats
- Spawned child program
- The fork/exec Combination
- Threads
- The _thread Module
- Basic usage
- Other ways to code threads with _thread
- Running multiple threads
- Synchronizing access to shared objects and names
- Waiting for spawned thread exits
- Coding alternatives: busy loops, arguments, and context managers
- The threading Module
- Other ways to code threads with threading
- Synchronizing access to shared objects and names revisited
- The queue Module
- Arguments versus globals
- Program exit with child threads
- Running the script
- Preview: GUIs and Threads
- More on the Global Interpreter Lock
- The thread switch interval
- Atomic operations
- C API thread considerations
- A process-based alternative: multiprocessing (ahead)
- The _thread Module
- Program Exits
- sys Module Exits
- os Module Exits
- Shell Command Exit Status Codes
- Exit status with os.system and os.popen
- Output stream buffering: A first look
- Exit status with subprocess
- Process Exit Status and Shared State
- Thread Exits and Shared State
- Interprocess Communication
- Anonymous Pipes
- Anonymous pipe basics
- Wrapping pipe descriptors in file objects
- Anonymous pipes and threads
- Bidirectional IPC with anonymous pipes
- Output stream buffering revisited: Deadlocks and flushes
- Named Pipes (Fifos)
- Named pipe basics
- Named pipe use cases
- Sockets: A First Look
- Socket basics
- Sockets and independent programs
- Socket use cases
- Signals
- Anonymous Pipes
- The multiprocessing Module
- Why multiprocessing?
- The Basics: Processes and Locks
- Implementation and usage rules
- IPC Tools: Pipes, Shared Memory, and Queues
- multiprocessing pipes
- Shared memory and globals
- Queues and subclassing
- Starting Independent Programs
- And Much More
- And a little less
- Why multiprocessing? The Conclusion
- Other Ways to Start Programs
- The os.spawn Calls
- The os.startfile call on Windows
- Using the DOS start command
- Using start in Python scripts
- The os.startfile call
- A Portable Program-Launch Framework
- Other System Tools Coverage
- 6. Complete System Programs
- The Greps of Wrath
- A Quick Game of Find the Biggest Python File
- Scanning the Standard Library Directory
- Scanning the Standard Library Tree
- Scanning the Module Search Path
- Scanning the Entire Machine
- Printing Unicode Filenames
- Splitting and Joining Files
- Splitting Files Portably
- Joining Files Portably
- Usage Variations
- Generating Redirection Web Pages
- Page Template File
- Page Generator Script
- A Regression Test Script
- Running the Test Driver
- Copying Directory Trees
- Comparing Directory Trees
- Finding Directory Differences
- Finding Tree Differences
- Running the Script
- Verifying Backups
- Reporting Differences and Other Ideas
- Searching Directory Trees
- Greps and Globs and Finds
- Rolling Your Own find Module
- The fnmatch module
- Cleaning Up Bytecode Files
- A Python Tree Searcher
- Visitor: Walking Directories ++
- Editing Files in Directory Trees (Visitor)
- Global Replacements in Directory Trees (Visitor)
- Counting Source Code Lines (Visitor)
- Recoding Copies with Classes (Visitor)
- Other Visitor Examples (External)
- Playing Media Files
- The Python webbrowser Module
- The Python mimetypes Module
- Using mimetypes guesses for SearchVisitor
- Running the Script
- Automated Program Launchers (External)
- 2. System Tools
- III. GUI Programming
- 7. Graphical User Interfaces
- Heres Looking at You, Kid
- GUI Programming Topics
- Running the Examples
- Python GUI Development Options
- tkinter Overview
- tkinter Pragmatics
- tkinter Documentation
- tkinter Extensions
- tkinter Structure
- Implementation structure
- Programming structure
- Climbing the GUI Learning Curve
- Hello World in Four Lines (or Less)
- tkinter Coding Basics
- Making Widgets
- Geometry Managers
- Running GUI Programs
- Avoiding DOS consoles on Windows
- tkinter Coding Alternatives
- Widget Resizing Basics
- Configuring Widget Options and Window Titles
- One More for Old Times Sake
- Packing Widgets Without Saving Them
- Adding Buttons and Callbacks
- Widget Resizing Revisited: Expansion
- Adding User-Defined Callback Handlers
- Lambda Callback Handlers
- Deferring Calls with Lambdas and Object References
- Callback Scope Issues
- Arguments versus globals
- Passing in enclosing scope values with default arguments
- Passing in enclosing scope values with automatic references
- But you must still sometimes use defaults instead of enclosing scopes
- Bound Method Callback Handlers
- Callable Class Object Callback Handlers
- Other tkinter Callback Protocols
- Binding Events
- Adding Multiple Widgets
- Widget Resizing Revisited: Clipping
- Attaching Widgets to Frames
- Layout: Packing Order and Side Attachments
- The Packers Expand and Fill Revisited
- Using Anchor to Position Instead of Stretch
- Customizing Widgets with Classes
- Standardizing Behavior and Appearance
- Common behavior
- Common appearance
- Standardizing Behavior and Appearance
- Reusable GUI Components with Classes
- Attaching Class Components
- Extending Class Components
- Standalone Container Classes
- The End of the Tutorial
- Python/tkinter for Tcl/Tk Converts
- Heres Looking at You, Kid
- 8. A tkinter Tour, Part 1
- Widgets and Gadgets and GUIs, Oh My!
- This Chapters Topics
- Configuring Widget Appearance
- Top-Level Windows
- Toplevel and Tk Widgets
- Top-Level Window Protocols
- Dialogs
- Standard (Common) Dialogs
- A smart and reusable Quit button
- A dialog demo launcher bar
- Printing dialog results and passing callback data with lambdas
- Letting users select colors on the fly
- Other standard dialog calls
- The Old-Style Dialog Module
- Custom Dialogs
- Making custom dialogs modal
- Other ways to be modal
- Standard (Common) Dialogs
- Binding Events
- Other bind Events
- More on <Destroy> events and the quit and destroy methods
- Other bind Events
- Message and Entry
- Message
- Entry
- Programming Entry widgets
- Laying Out Input Forms
- Going modal again
- tkinter Variables and Form Layout Alternatives
- Checkbutton, Radiobutton, and Scale
- Checkbuttons
- Check buttons and variables
- Radio Buttons
- Radio buttons and variables
- Radio buttons without variables
- Hold onto your variables!
- Scales (Sliders)
- Scales and variables
- Checkbuttons
- Running GUI Code Three Ways
- Attaching Frames
- Importing by name string
- Configuring at construction time
- Independent Windows
- Running Programs
- Launching GUIs as programs other ways: multiprocessing
- Cross-program communication
- Coding for reusability
- Attaching Frames
- Images
- Fun with Buttons and Pictures
- Viewing and Processing Images with PIL
- PIL Basics
- Displaying Other Image Types with PIL
- Displaying all images in a directory
- Creating Image Thumbnails with PIL
- Performance: Saving thumbnail files
- Layout options: Gridding
- Layout options: Fixed-size buttons
- Scrolling and canvases (ahead)
- Widgets and Gadgets and GUIs, Oh My!
- 9. A tkinter Tour, Part 2
- On Todays Menu: Spam, Spam, and Spam
- Menus
- Top-Level Window Menus
- Frame- and Menubutton-Based Menus
- Using Menubuttons and Optionmenus
- Windows with Both Menus and Toolbars
- Using images in toolbars, too
- Automating menu construction
- Listboxes and Scrollbars
- Programming Listboxes
- Programming Scroll Bars
- Packing Scroll Bars
- Text
- Programming the Text Widget
- Text is a Python string
- String positions
- Text indexes
- Text marks
- Text tags
- Adding Text-Editing Operations
- Using the clipboard
- Composition versus inheritance
- Its called Simple for a reason: PyEdit (ahead)
- Unicode and the Text Widget
- String types in the Text widget
- Unicode text in strings
- Unicode text in files
- Unicode and the Text widget
- The problem with treating text as bytes
- Other binary mode considerations
- Supporting Unicode in PyEdit (ahead)
- Advanced Text and Tag Operations
- Programming the Text Widget
- Canvas
- Basic Canvas Operations
- Programming the Canvas Widget
- Coordinates
- Object construction
- Object identifiers and operations
- Canvas object tags
- Scrolling Canvases
- Scrollable Canvases and Image Thumbnails
- Scrolling images too: PyPhoto (ahead)
- Using Canvas Events
- Binding events on specific items
- Grids
- Why Grids?
- Grid Basics: Input Forms Revisited
- Comparing grid and pack
- Combining grid and pack
- Making Gridded Widgets Expandable
- Resizing in grids
- Spanning columns and rows
- Laying Out Larger Tables with grid
- Time Tools, Threads, and Animation
- Using Threads with tkinter GUIs
- Using the after Method
- Hiding and redrawing widgets and windows
- Simple Animation Techniques
- Using time.sleep loops
- Using widget.after events
- Using multiple time.sleep loop threads
- Other Animation Topics
- Other animation effects
- Threads and animation
- Graphics and gaming toolkits
- The End of the Tour
- Other Widgets and Options
- 10. GUI Coding Techniques
- Building a Better Mousetrap
- GuiMixin: Common Tool Mixin Classes
- Widget Builder Functions
- Mixin Utility Classes
- GuiMaker: Automating Menus and Toolbars
- Subclass Protocols
- GuiMaker Classes
- GuiMaker Self-Test
- BigGui: A Client Demo Program
- ShellGui: GUIs for Command-Line Tools
- A Generic Shell-Tools Display
- Application-Specific Tool Set Classes
- Adding GUI Frontends to Command Lines
- Non-GUI scripts
- GUI input dialogs
- Room for improvement
- GuiStreams: Redirecting Streams to Widgets
- Using Redirection for the Packing Scripts
- Reloading Callback Handlers Dynamically
- Wrapping Up Top-Level Window Interfaces
- GUIs, Threads, and Queues
- Placing Data on Queues
- Recoding with classes and bound methods
- Thread exits in GUIs
- Placing Callbacks on Queues
- Passing bound method callbacks on queues
- Placing Data on Queues
- More Ways to Add GUIs to Non-GUI Code
- Popping Up GUI Windows on Demand
- Adding a GUI As a Separate Program: Sockets (A Second Look)
- Adding a GUI As a Separate Program: Command Pipes
- The specter of blocking input calls
- Updating GUIs within threadsand other nonsolutions
- Avoiding blocking input calls with non-GUI threads
- Sockets and pipes: Compare and contrast
- Other uses for threaded pipe GUIs
- The PyDemos and PyGadgets Launchers
- PyDemos Launcher Bar (Mostly External)
- PyGadgets Launcher Bar
- 11. Complete GUI Programs
- Python, Open Source, and Camaros
- Examples in Other Chapters
- This Chapters Strategy
- PyEdit: A Text Editor Program/Object
- Running PyEdit
- Menus and toolbars
- Dialogs
- Running program code
- Multiple windows
- Other PyEdit examples and screenshots in this book
- PyEdit Changes in Version 2.0 (Third Edition)
- Font dialog
- Undo, redo, and modified tests
- Configuration module
- PyEdit Changes in Version 2.1 (Fourth Edition)
- Modal dialog state fix
- Cross-process change tests on Quit
- New Grep dialog: Threaded and Unicode-aware file tree search
- Grep threading model
- Grep Unicode model
- Update for initial positioning
- Improvements for running code
- Unicode (Internationalized) text support
- Unicode file and display model
- Unicode options and choices
- More on Quit checks: The <Destroy> event revisited
- PyEdit Source Code
- User configurations file
- Windows (and other) launch files
- Main implementation file
- Running PyEdit
- PyPhoto: An Image Viewer and Resizer
- Running PyPhoto
- PyPhoto Source Code
- PyView: An Image and Notes Slideshow
- Running PyView
- Embedding PyEdit in PyView
- PyView Source Code
- Running PyView
- PyDraw: Painting and Moving Graphics
- Running PyDraw
- PyDraw Source Code
- PyClock: An Analog/Digital Clock Widget
- A Quick Geometry Lesson
- Running PyClock
- PyClock Source Code
- PyToe: A Tic-Tac-Toe Game Widget
- Running PyToe
- PyToe Source Code (External)
- Where to Go from Here
- Python, Open Source, and Camaros
- 7. Graphical User Interfaces
- IV. Internet Programming
- 12. Network Scripting
- Tune In, Log On, and Drop Out
- Internet Scripting Topics
- What we will cover
- What we wont cover
- Other themes in this part of the book
- Running Examples in This Part of the Book
- Internet Scripting Topics
- Python Internet Development Options
- Plumbing the Internet
- The Socket Layer
- Machine identifiers
- The Protocol Layer
- Port number rules
- Clients and servers
- Protocol structures
- Pythons Internet Library Modules
- The Socket Layer
- Socket Programming
- Socket Basics
- Server socket calls
- Transferring byte strings and objects
- Client socket calls
- Running Socket Programs Locally
- Running Socket Programs Remotely
- Socket pragmatics
- Spawning Clients in Parallel
- Preview: Denied client connections
- Talking to Reserved Ports
- Binding reserved port servers
- Socket Basics
- Handling Multiple Clients
- Forking Servers
- Running the forking server
- Other run modes: Local servers with Cygwin and remote clients
- Forked processes and sockets
- Exiting from children
- Killing the zombies: Dont fear the reaper!
- Preventing zombies with signal handlers on Linux
- Why multiprocessing doesnt help with socket server portability
- Threading Servers
- Standard Library Server Classes
- Multiplexing Servers with select
- A select-based echo server
- Running the select server
- Summary: Choosing a Server Scheme
- Forking Servers
- Making Sockets Look Like Files and Streams
- A Stream Redirection Utility
- Text-mode files and buffered output streams
- Stream requirements
- Line buffering
- Solutions
- Buffering in other contexts: Command pipes revisited
- Sockets versus command pipes
- A Stream Redirection Utility
- A Simple Python File Server
- Running the File Server and Clients
- Adding a User-Interface Frontend
- Using row frames and command lines
- Using grids and function calls
- Using a reusable form-layout class
- Tune In, Log On, and Drop Out
- 13. Client-Side Scripting
- Socket to Me!
- FTP: Transferring Files over the Net
- Transferring Files with ftplib
- Using urllib to Download Files
- FTP get and put Utilities
- Download utility
- Upload utility
- Playing the Monty Python theme song
- Adding a User Interface
- Transferring Directories with ftplib
- Downloading Site Directories
- Uploading Site Directories
- Refactoring Uploads and Downloads for Reuse
- Refactoring with functions
- Refactoring with classes
- Transferring Directory Trees with ftplib
- Uploading Local Trees
- Deleting Remote Trees
- Downloading Remote Trees
- Processing Internet Email
- Unicode in Python 3.X and Email Tools
- POP: Fetching Email
- Mail Configuration Module
- POP Mail Reader Script
- Fetching Messages
- Fetching Email at the Interactive Prompt
- SMTP: Sending Email
- SMTP Mail Sender Script
- Sending Messages
- Verifying receipt
- Manipulating both From and To
- Sending Email at the Interactive Prompt
- email: Parsing and Composing Mail Content
- Message Objects
- Basic email Package Interfaces in Action
- Handling multipart messages
- Unicode, Internationalization, and the Python 3.1 email Package
- Parser decoding requirement
- Text payload encodings: Handling mixed type results
- Text payload encodings: Using header information to decode
- Message header encodings: email package support
- Message address header encodings and parsing, and header creation
- Workaround: Message text generation for binary attachment payloads is broken
- Workaround: Message composition for non-ASCII text parts is broken
- Summary: Solutions and workarounds
- A Console-Based Email Client
- Running the pymail Console Client
- The mailtools Utility Package
- Initialization File
- MailTool Class
- MailSender Class
- Unicode issues for attachments, save files, and headers
- MailFetcher Class
- General usage
- Unicode decoding for full mail text on fetches
- Inbox synchronization tools
- MailParser Class
- Unicode decoding for text part payloads and message headers
- Self-Test Script
- Running the self-test
- Updating the pymail Console Client
- Running the pymail2 console client
- NNTP: Accessing Newsgroups
- HTTP: Accessing Websites
- The urllib Package Revisited
- Other urllib Interfaces
- Invoking programs and escaping text
- Other urllib Interfaces
- Other Client-Side Scripting Options
- 14. The PyMailGUI Client
- Use the Source, Luke
- Source Code Modules and Size
- Code size
- Code Structure
- Why PyMailGUI?
- Running PyMailGUI
- Presentation Strategy
- Source Code Modules and Size
- Major PyMailGUI Changes
- New in Version 2.1 and 2.0 (Third Edition)
- New in Version 3.0 (Fourth Edition)
- Version 3.0 Unicode support policies
- A PyMailGUI Demo
- Getting Started
- Loading Mail
- Threading Model
- Threading model implementation
- Load Server Interface
- Offline Processing with Save and Open
- Sending Email and Attachments
- Viewing Email and Attachments
- Email Replies and Forwards and Recipient Options
- Deleting Email
- POP Message Numbers and Synchronization
- Handling HTML Content in Email
- Mail Content Internationalization Support
- Alternative Configurations and Accounts
- Multiple Windows and Status Messages
- PyMailGUI Implementation
- PyMailGUI: The Main Module
- SharedNames: Program-Wide Globals
- ListWindows: Message List Windows
- ViewWindows: Message View Windows
- messagecache: Message Cache Manager
- popuputil: General-Purpose GUI Pop Ups
- wraplines: Line Split Tools
- html2text: Extracting Text from HTML (Prototype, Preview)
- mailconfig: User Configurations
- textConfig: Customizing Pop-Up PyEdit Windows
- PyMailGUIHelp: User Help Text and Display
- altconfigs: Configuring for Multiple Accounts
- Ideas for Improvement
- Use the Source, Luke
- 15. Server-Side Scripting
- Oh, What a Tangled Web We Weave
- Whats a Server-Side CGI Script?
- The Script Behind the Curtain
- Writing CGI Scripts in Python
- Running Server-Side Examples
- Web Server Options
- Running a Local Web Server
- The Server-Side Examples Root Page
- Viewing Server-Side Examples and Output
- Climbing the CGI Learning Curve
- A First Web Page
- HTML basics
- Internet addresses (URLs)
- Using minimal URLs
- HTML file permission constraints
- A First CGI Script
- Installing CGI scripts
- Finding Python on remote servers
- Adding Pictures and Generating Tables
- Table tags
- Adding User Interaction
- Submission page
- More on form tags
- Response script
- Passing parameters in URLs
- Testing outside browsers with the module urllib.request
- Using Tables to Lay Out Forms
- Converting strings in CGI scripts
- Debugging CGI scripts
- Adding Common Input Devices
- Changing Input Layouts
- Keeping display and logic separate
- Passing Parameters in Hardcoded URLs
- Passing Parameters in Hidden Form Fields
- A First Web Page
- Saving State Information in CGI Scripts
- URL Query Parameters
- Hidden Form Input Fields
- HTTP Cookies
- Creating a cookie
- Receiving a cookie
- Using cookies in CGI scripts
- Handling cookies with the urllib.request module
- Server-Side Databases
- Extensions to the CGI Model
- Combining Techniques
- The Hello World Selector
- Checking for Missing and Invalid Inputs
- Refactoring Code for Maintainability
- Step 1: Sharing Objects Between PagesA New Input Form
- Step 2: A Reusable Form Mock-Up Utility
- Step 3: Putting It All TogetherA New Reply Script
- More on HTML and URL Escapes
- URL Escape Code Conventions
- Python HTML and URL Escape Tools
- Escaping HTML Code
- Escaping URLs
- Escaping URLs Embedded in HTML Code
- HTML and URL conflicts: &
- Avoiding conflicts
- Transferring Files to Clients and Servers
- Displaying Arbitrary Server Files on the Client
- Handling private files and errors
- Uploading Client Files to the Server
- Handling client path formats
- More Than One Way to Push Bits over the Net
- Displaying Arbitrary Server Files on the Client
- 16. The PyMailCGI Server
- Things to Do When Visiting Chicago
- The PyMailCGI Website
- Implementation Overview
- New in This Fourth Edition (Version 3.0)
- New in the Prior Edition (Version 2.0)
- Presentation Overview
- Running This Chapters Examples
- The Root Page
- Configuring PyMailCGI
- Sending Mail by SMTP
- The Message Composition Page
- The Send Mail Script
- Error Pages
- Common Look-and-Feel
- Using the Send Mail Script Outside a Browser
- Reading POP Email
- The POP Password Page
- The Mail Selection List Page
- Passing State Information in URL Link Parameters
- Security Protocols
- Reading mail with direct URLs
- The Message View Page
- Passing State Information in HTML Hidden Input Fields
- Escaping Mail Text and Passwords in HTML
- Processing Fetched Mail
- Reply and Forward
- Delete
- Deletions and POP Message Numbers
- Inbox synchronization error potential
- Alternative: Passing header text in hidden input fields (PyMailCGI_2.1)
- Alternative: Server-side files for headers
- Alternative: Delete on load
- Utility Modules
- External Components and Configuration
- POP Mail Interface
- POP Password Encryption
- Manual data encryption: rotor (defunct)
- Manual data encryption: PyCrypto
- HTTPS: Secure HTTP transmissions
- Secure cookies
- The secret.py module
- Rolling your own encryptor
- Common Utilities Module
- Web Scripting Trade-Offs
- PyMailCGI Versus PyMailGUI
- The Web Versus the Desktop
- Other Approaches
- 12. Network Scripting
- V. Tools and Techniques
- 17. Databases and Persistence
- Give Me an Order of Persistence, but Hold the Pickles
- Persistence Options in Python
- DBM Files
- Using DBM Files
- DBM Details: Files, Portability, and Close
- Pickled Objects
- Using Object Pickling
- Pickling in Action
- Pickle Details: Protocols, Binary Modes, and _pickle
- Shelve Files
- Using Shelves
- Storing Built-in Object Types in Shelves
- Storing Class Instances in Shelves
- Changing Classes of Objects Stored in Shelves
- Shelve Constraints
- Keys must be strings (and str)
- Objects are unique only within a key
- Updates must treat shelves as fetch-modify-store mappings
- Concurrent updates are not directly supported
- Underlying DBM format portability
- Pickled Class Constraints
- Other Shelve Limitations
- The ZODB Object-Oriented Database
- The Mostly Missing ZODB Tutorial
- SQL Database Interfaces
- SQL Interface Overview
- An SQL Database API Tutorial with SQLite
- Getting started
- Making databases and tables
- Adding records
- Running queries
- Running updates
- Building Record Dictionaries
- Using table descriptions
- Record dictionaries construction
- Automating with scripts and modules
- Tying the Pieces Together
- Loading Database Tables from Files
- Loading with SQL and Python
- Python versus SQL
- SQL Utility Scripts
- Table load scripts
- Table display script
- Using the scripts
- SQL Resources
- ORMs: Object Relational Mappers
- PyForm: A Persistent Object Viewer (External)
- 18. Data Structures
- Roses Are Red, Violets Are Blue; Lists Are Mutable, and So Is Set Foo
- Implementing Stacks
- Built-in Options
- A Stack Module
- A Stack Class
- Customization: Performance Monitors
- Optimization: Tuple Tree Stacks
- Optimization: In-Place List Modifications
- Timing the Improvements
- Results under Python 3.1
- More on performance analysis
- Implementing Sets
- Built-in Options
- Set Functions
- Supporting multiple operands
- Set Classes
- Optimization: Moving Sets to Dictionaries
- Timing the results under Python 3.1
- Adding Relational Algebra to Sets (External)
- Subclassing Built-in Types
- Binary Search Trees
- Built-in Options
- Implementing Binary Trees
- Trees with Both Keys and Values
- Graph Searching
- Implementing Graph Search
- Moving Graphs to Classes
- Permuting Sequences
- Reversing and Sorting Sequences
- Implementing Reversals
- Implementing Sorts
- Adding comparison functions
- Data Structures Versus Built-ins: The Conclusion
- PyTree: A Generic Tree Object Viewer
- 19. Text and Language
- See Jack Hack. Hack, Jack, Hack
- Strategies for Processing Text in Python
- String Method Utilities
- Templating with Replacements and Formats
- Parsing with Splits and Joins
- Summing Columns in a File
- Summing with zips and comprehensions
- Summing with dictionaries
- Parsing and Unparsing Rule Strings
- More on the holmes expert system shell
- Regular Expression Pattern Matching
- The re Module
- First Examples
- String Operations Versus Patterns
- Using the re Module
- Module functions
- Compiled pattern objects
- Match objects
- Regular expression patterns
- More Pattern Examples
- Scanning C Header Files for Patterns
- XML and HTML Parsing
- XML Parsing in Action
- Regular expression parsing
- SAX parsing
- DOM parsing
- ElementTree parsing
- Other XML topics
- HTML Parsing in Action
- Handling HTML entity references (revisited)
- Extracting plain text from HTML (revisited)
- XML Parsing in Action
- Advanced Language Tools
- Custom Language Parsers
- The Expression Grammar
- The Parsers Code
- Adding a Parse Tree Interpreter
- Parse Tree Structure
- Exploring Parse Trees with the PyTree GUI
- Parsers Versus Python
- PyCalc: A Calculator Program/Object
- A Simple Calculator GUI
- Building the GUI
- Running code strings
- Extending and attaching
- PyCalcA Real Calculator GUI
- Running PyCalc
- Evaluating expressions with stacks
- PyCalc source code
- Using PyCalc as a component
- Adding new buttons in new components
- A Simple Calculator GUI
- 20. Python/C Integration
- I Am Lost at C
- Extending and Embedding
- Extending Python in C: Overview
- A Simple C Extension Module
- The SWIG Integration Code Generator
- A Simple SWIG Example
- Wrapping C Environment Calls
- Adding Wrapper Classes to Flat Libraries
- Wrapping C Environment Calls with SWIG
- Wrapping C++ Classes with SWIG
- A Simple C++ Extension Class
- Wrapping the C++ Class with SWIG
- Using the C++ Class in Python
- Using the low-level extension module
- Subclassing the C++ class in Python
- Exploring the wrappers interactively
- Other Extending Tools
- Embedding Python in C: Overview
- The C Embedding API
- What Is Embedded Code?
- Basic Embedding Techniques
- Running Simple Code Strings
- Compiling and running
- Running Code Strings with Results and Namespaces
- Calling Python Objects
- Running Strings in Dictionaries
- Precompiling Strings to Bytecode
- Running Simple Code Strings
- Registering Callback Handler Objects
- Registration Implementation
- Using Python Classes in C
- Other Integration Topics
- I Am Lost at C
- 17. Databases and Persistence
- VI. The End
- 21. Conclusion: Python and the Development Cycle
- Thats the End of the Book, Now Heres the Meaning of Life
- Somethings Wrong with the Way We Program Computers
- The Gilligan Factor
- Doing the Right Thing
- The Static Language Build Cycle
- Artificial Complexities
- One Language Does Not Fit All
- Enter Python
- But What About That Bottleneck?
- Python Provides Immediate Turnaround
- Python Is Executable Pseudocode
- Python Is OOP Done Right
- Python Fosters Hybrid Applications
- On Sinking the Titanic
- So Whats Python?: The Sequel
- In the Final Analysis
- 21. Conclusion: Python and the Development Cycle
- Index
- About the Author
- Colophon
- Copyright
O'Reilly Media - inne książki
-
Nowość Promocja Promocja 2za1
Business decisions in any context—operational, tactical, or strategic—can have considerable consequences. Whether the outcome is positive and rewarding or negative and damaging to the business, its employees, and stakeholders is unknown when action is approved. These decisions are usually made under the proverbial cloud of uncertainty.With this pra- ePub + Mobi pkt
(186,15 zł najniższa cena z 30 dni)
194.65 zł
228.99 zł (-15%) -
Nowość Promocja Promocja 2za1
If you're a developer looking to build a distributed, resilient, scalable, high-performance application, you may be evaluating distributed SQL and NoSQL solutions. Perhaps you're considering the Aerospike database.This practical book shows developers, architects, and engineers how to get the highly scalable and extremely low-latency Aerospike datab- ePub + Mobi pkt
Aerospike: Up and Running. Developing on a Modern Operational Database for Globally Distributed Apps
(245,65 zł najniższa cena z 30 dni)
254.15 zł
299.00 zł (-15%) -
Nowość Promocja Promocja 2za1
Learn how to use Go's strengths to develop services that are scalable and resilient even in an unpredictable environment. With this book's expanded second edition, Go developers will explore the composition and construction of cloud native applications, from lower-level Go features and mid-level patterns to high-level architectural considerations.E- ePub + Mobi pkt
(220,15 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł (-15%) -
Nowość Promocja Promocja 2za1
Reinforcement learning (RL) has led to several breakthroughs in AI. The use of the Q-learning (DQL) algorithm alone has helped people develop agents that play arcade games and board games at a superhuman level. More recently, RL, DQL, and similar methods have gained popularity in publications related to financial research.This book is among the fir- ePub + Mobi pkt
(220,15 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł (-15%) -
Promocja Promocja 2za1
To ensure that applications are reliable and always available, more businesses today are moving applications to AWS. But many companies still struggle to design and build these cloud applications effectively, thinking that because the cloud is resilient, their applications will be too. With this practical guide, software, DevOps, and cloud engineer- ePub + Mobi pkt
(220,15 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł (-15%) -
Promocja Promocja 2za1
Performance tuning is an experimental science, but that doesn't mean engineers should resort to guesswork and folklore to get the job done. Yet that's often the case. With this practical book, intermediate to advanced Java technologists working with complex platforms will learn how to tune Java cloud applications for performance using a quantitativ- ePub + Mobi pkt
(220,15 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł (-15%) -
Promocja Promocja 2za1
Today, investment in financial technology and digital transformation is reshaping the financial landscape and generating many opportunities. Too often, however, engineers and professionals in financial institutions lack a practical and comprehensive understanding of the concepts, problems, techniques, and technologies necessary to build a modern, r- ePub + Mobi pkt
(220,15 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł (-15%) -
Promocja Promocja 2za1
Until recently, infrastructure was the backbone of organizations operating software they developed in-house. But now that cloud vendors run the computers, companies can finally bring the benefits of agile custom-centricity to their own developers. Adding product management to infrastructure organizations is now all the rage.But how's that possible- ePub + Mobi pkt
(186,15 zł najniższa cena z 30 dni)
194.65 zł
228.99 zł (-15%) -
Promocja Promocja 2za1
Cloud services and SaaS software permeate every company's IT landscape, requiring a shift from manually provisioned services to a more structured approach, with codification at its core. Terraform provides tools to manage the lifecycle of your IT landscape across thousands of different cloud providers and SaaS platforms.By defining your infrastruct- ePub + Mobi pkt
(203,15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł (-15%) -
Promocja Promocja 2za1
Using machine learning for products, services, and critical business processes is quite different from using ML in an academic or research setting—especially for recent ML graduates and those moving from research to a commercial environment. Whether you currently work to create products and services that use ML, or would like to in the future, this- ePub + Mobi pkt
(245,65 zł najniższa cena z 30 dni)
254.15 zł
299.00 zł (-15%)
Dzięki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep@helion.pl
Książka drukowana
Oceny i opinie klientów: Programming Python. Powerful Object-Oriented Programming. 4th Edition Mark Lutz (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.