Python: Journey from Novice to Expert. Journey from Novice to Expert Fabrizio Romano, Dusty Phillips, Rick van Hattem


- Autorzy:
- Fabrizio Romano, Dusty Phillips, Rick van Hattem
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Dostępne formaty:
-
PDFePubMobi
Opis
książki
:
Python: Journey from Novice to Expert. Journey from Novice to Expert
Wybrane bestsellery
-
Promocja
Ta zwięzła publikacja przyda się profesjonalistom, którzy lubią drobne ulepszenia prowadzące do dużych korzyści. Zrozumiale wyjaśniono w niej, na czym polega proces tworzenia czystego i niezawodnego kodu. W rozsądnej dawce podano zagadnienia teoretyczne, takie jak sprzężenie, kohezja, zdyskontowane przepływy pieniężne i opcjonalność. Porządkowanie kodu jest tu przedstawione jako element codziennej pracy programisty, prowadzący do poprawy struktury całego projektu. W książce znalazło się mnóstwo praktycznych przykładów, dzięki którym można wypróbować wybrane techniki, najlepiej sprawdzające się w danym przypadku.- PDF + ePub + Mobi
- Druk 27 pkt
(24,95 zł najniższa cena z 30 dni)
27.45 zł
49.90 zł (-45%) -
Promocja
Gain deep insight into real-time analytics, including the features of these systems and the problems they solve. With this practical book, data engineers at organizations that use event-processing systems such as Kafka, Google Pub/Sub, and AWS Kinesis will learn how to analyze data streams in real time. The faster you derive insights, the quicker y-
- ePub + Mobi 203 pkt
(211,65 zł najniższa cena z 30 dni)
203.15 zł
239.00 zł (-15%) -
-
Promocja
Głębokie sieci neuronowe mają niesamowity potencjał. Osiągnięcia ostatnich lat nadały procesom uczenia głębokiego zupełnie nową jakość. Obecnie nawet programiści niezaznajomieni z tą technologią mogą korzystać z prostych i niezwykle skutecznych narzędzi, pozwalających na sprawne implementowanie programów uczących się z danych.- Druk 98 pkt
(89,50 zł najniższa cena z 30 dni)
98.45 zł
179.00 zł (-45%) -
Promocja
Ta książka zawiera opis podstawowych wzorców, zasad i praktyk przydatnych podczas analizy dziedzin biznesowych, ułatwiających zrozumienie ich strategii i dostosowanie architektury do potrzeb biznesu, aby umożliwić zbudowanie solidnej implementacji logiki biznesowej. Omówiono tu narzędzia i techniki podejmowania decyzji projektowych, a także istotniejsze wzorce projektowe. Dużo uwagi poświęcono kodowi i różnym sposobom implementacji logiki biznesowej systemu. Opisano również techniki i strategie stosowania DDD w rzeczywistych projektach. Ciekawym elementem jest zaprezentowanie związków projektowania dziedzinowego z innymi ważnymi metodologiami i wzorcami.- PDF + ePub + Mobi
- Druk 43 pkt
(39,50 zł najniższa cena z 30 dni)
43.45 zł
79.00 zł (-45%) -
Promocja
To drugie wydanie praktycznego przewodnika po projektowaniu, tworzeniu, wdrażaniu, skalowaniu i utrzymaniu systemów opartych na drobnoziarnistych mikrousługach. Publikacja została uzupełniona o informacje dotyczące najnowszych trendów i technologii związanych z mikrousługami. Sporo miejsca poświęcono na staranne przeanalizowanie przykładów dotyczących opisywanych koncepcji, a także pokazanie optymalnych sposobów rozwiązywania różnych problemów. Opisano również najnowsze rozwiązania dotyczące modelowania, integracji, testowania, wdrażania i monitorowania autonomicznych usług. Bardzo interesującą częścią są studia przypadków, w których przeanalizowano, jak organizacjom udaje się w praktyce w pełni wykorzystywać możliwości mikrousług.- PDF + ePub + Mobi
- Druk 59 pkt
(54,50 zł najniższa cena z 30 dni)
59.94 zł
109.00 zł (-45%) -
Promocja
Dave Thomas i Andy Hunt napisali pierwsze wydanie tej wpływowej książki w 1999 roku, aby pomóc swoim klientom tworzyć lepsze oprogramowanie i na nowo odnaleźć radość z kodowania. Nauki płynące z tamtego wydania pomogły wielu pokoleniom programistów zbadać istotę rozwoju oprogramowania, niezależnie od stosowanego języka, frameworka, czy metodologii. Filozofia pragmatycznego programisty stała się inspiracją dla setek książek, przewodników internetowych oraz audiobooków, a także tysiący karier i historii sukcesu. Teraz, dwadzieścia lat później, w tym nowym wydaniu ponownie pokazano, co to znaczy być nowoczesnym programistą. W książce poruszono tematy począwszy od osobistej odpowiedzialności i rozwoju zawodowego, a kończywszy na technikach architektonicznych pozwalających utrzymywać kod, który jest elastyczny oraz łatwy do przystosowania do konkretnych warunków oraz wielokrotnego wykorzystania. Przeczytaj tę książkę, a dowiesz się, w jaki sposób:- PDF + ePub + Mobi
- Druk 42 pkt
(38,50 zł najniższa cena z 30 dni)
42.35 zł
77.00 zł (-45%) -
Promocja
Mikrousługi są relatywnie świeżą koncepcją w świecie systemów IT, mimo to coraz więcej organizacji decyduje się na wdrażanie opartej na nich architektury. Uznaje się, że zapewnia ona wówczas lepszą skalowalność, łatwość łączenia poszczególnych niezależnych elementów, a przede wszystkim możliwość szybszej reakcji na zmiany i skuteczniejsze wdrażanie nowych funkcjonalności. Zanim jednak organizacja da się skusić tymi obietnicami, powinna gruntownie przeanalizować swoją sytuację i decyzję o ewentualnej migracji systemu oprzeć na racjonalnych przesłankach. Konieczne jest również opracowanie planu takiego przejścia, zwłaszcza jeśli nie można sobie pozwolić na dłuższe przestoje w działalności.- PDF + ePub + Mobi
- Druk 30 pkt
(27,45 zł najniższa cena z 30 dni)
30.20 zł
54.90 zł (-45%) -
Promocja
Ta książka jest zaktualizowanym wydaniem praktycznego przewodnika po refaktoryzacji. Choć jest przeznaczona dla profesjonalnego programisty, znalazło się tu zrozumiałe wprowadzenie do tego zagadnienia z opisem celów, technik i możliwości refaktoryzacji. Wspomniano także o problemach związanych z refaktoryzacją. Natomiast zasadniczą część książki stanowi znakomicie uzupełniony i wzbogacony katalog przekształceń refaktoryzacyjnych. Do zilustrowania poszczególnych technik refaktoryzacji autorzy wybrali język JavaScript, jednak kod został przedstawiony w taki sposób, aby prezentowane koncepcje bez trudu zrozumiał każdy programista.- PDF + ePub + Mobi
- Druk 48 pkt
(44,50 zł najniższa cena z 30 dni)
48.95 zł
89.00 zł (-45%) -
Promocja
W tej książce w sposób jasny i bardzo interesujący przedstawiono uniwersalne zasady architektury oprogramowania wraz z szeregiem wskazówek dotyczących stosowania tych reguł w praktyce. Wyczerpująco zaprezentowano tu dostępne rozwiązania i wyjaśniono, dlaczego są one tak istotne dla sukcesu przedsięwzięcia. Publikacja jest wypełniona bardzo praktycznymi rozwiązaniami problemów, z którymi musi się mierzyć wielu programistów. Szczególnie cenne są uwagi dotyczące zapobiegania częstemu problemowi, jakim jest stopniowa utrata jakości kodu w miarę postępu projektu. Ta książka obowiązkowo powinna się znaleźć w podręcznej biblioteczce każdego architekta oprogramowania, analityka systemowego, projektanta i menedżera!- PDF + ePub + Mobi
- Druk 48 pkt
(44,50 zł najniższa cena z 30 dni)
48.95 zł
89.00 zł (-45%) -
Promocja
Niniejsza książka jest przeznaczona dla architektów aplikacji skali korporacyjnej. Zawarto tu wyczerpujący opis zbioru narzędzi DDD i ich stosowania do projektowania różnych systemów, a także w przystępny sposób pokazano aspekty praktycznego wykorzystania nowych technik, takich jak wzorce CQRS czy magazynowanie zdarzeń. Są one stosowane z upodobaniem przez wielu praktyków DDD. Zaprezentowano tu wiele przykładów i cennych wniosków. Jednym słowem, jest to kompletny podręcznik, z którego skorzystają wszyscy deweloperzy oprogramowania, niezależnie od posiadanego doświadczenia.- PDF + ePub + Mobi
- Druk 70 pkt
(64,50 zł najniższa cena z 30 dni)
70.95 zł
129.00 zł (-45%)
O autorach książki
Dusty Phillips jest kanadyjskim programistą i autorem książek o programowaniu. Pracował dla rządów, startupów i sieci społecznościowych. Obecnie zajmuje się pisaniem powieści fantastycznych.
Fabrizio Romano, Dusty Phillips, Rick van Hattem - pozostałe książki
-
Promocja
Python is a dynamic programming language. It is known for its high readability and hence it is often the first language learned by new programmers. Python being multi-paradigm, it can be used to achieve the same thing in different ways and it is compatible across different platforms. Even if you find writing Python code easy, writing code that is e-
- PDF + ePub + Mobi 107 pkt
(29,90 zł najniższa cena z 30 dni)
107.10 zł
119.00 zł (-10%) -
-
Promocja
Updated with the latest Python syntax and libraries, this second edition will help you to learn about abstract design patterns and their implementation in Python 3. You’ll also get to grips with classes, data encapsulation, inheritance, polymorphism, abstraction, and exceptions, and be able to develop well-designed software.-
- PDF + ePub + Mobi 134 pkt
(29,90 zł najniższa cena z 30 dni)
134.10 zł
149.00 zł (-10%) -
-
Promocja
This book will help you explore the foundations of Python programming and learn how Python can be used to achieve results.-
- PDF + ePub 107 pkt
(116,10 zł najniższa cena z 30 dni)
107.10 zł
119.00 zł (-10%) -
-
Promocja
Oto przyjazny przewodnik dla programistów Pythona, wyczerpująco wyjaśniający wiele zagadnień programowania obiektowego, takich jak dziedziczenie, kompozycja, polimorfizm, tworzenie klas i struktur danych. W książce szczegółowo omówiono zagadnienia obsługi wyjątków, testowania kodu i zastosowania technik programowania funkcyjnego. Opisano też dwa potężne zautomatyzowane systemy testowe: unittest i pytest. Zaprezentowano tematykę utrzymania złożonego oprogramowania napisanego w sposób zorientowany obiektowo, a także podano wskazówki odnoszące się do jego rozbudowy. Ważną częścią przewodnika jest omówienie zasad programowania współbieżnego we współczesnym Pythonie. Co ważne, poszczególne zagadnienia zostały zilustrowane diagramami UML, czytelnymi przykładami i studiami przypadków.- PDF + ePub + Mobi
- Druk 81 pkt
(74,50 zł najniższa cena z 30 dni)
81.95 zł
149.00 zł (-45%) -
Promocja
This book delves into the advanced features of the Python programming language and teaches you how they can be utilized to write powerful Python code and packages-
- PDF + ePub 89 pkt
(29,90 zł najniższa cena z 30 dni)
89.91 zł
99.90 zł (-10%) -
-
Promocja
This book will help you explore the foundations of Python programming and learn how Python can be used to achieve results.-
- PDF + ePub + Mobi 116 pkt
(125,10 zł najniższa cena z 30 dni)
116.10 zł
129.00 zł (-10%) -
-
Promocja
Being familiar with object-oriented design is an essential part of programming in Python. This new edition includes all the topics that made Python Object-Oriented Programming an instant Packt classic. Moreover, it’s packed with updated content to reflect more recent changes in the core Python libraries and cover modern third-party packages.-
- PDF + ePub 116 pkt
(29,90 zł najniższa cena z 30 dni)
116.10 zł
129.00 zł (-10%) -
-
Promocja
This Learning Path is a thorough and practical introduction to Python. You will learn all about Python data structures, its most common algorithms, and its objects, and use all these to create clever applications that will transform your business.-
- PDF + ePub + Mobi 152 pkt
(161,10 zł najniższa cena z 30 dni)
152.10 zł
169.00 zł (-10%) -
-
Promocja
If you want to develop complete Python web apps with Django, then this Learning Path is for you. You will walk through Python programming techniques, and them implement them for creating four professional Django projects, teaching you how to solve common problems and develop RESTful web services with Django and Python. You will learn how to build a blog application, a social image bookmarking website, an online shop and an e-learning platform.-
- PDF + ePub + Mobi 179 pkt
(29,90 zł najniższa cena z 30 dni)
179.10 zł
199.00 zł (-10%) -
-
Promocja
This new edition includes all the topics that made Python 3 Object-Oriented Programming an instant Packt classic. It’s also packed with updated content to reflect recent changes in the core Python library and covers modern third-party packages that were not available on the Python 3 platform when the book was first published.-
- PDF + ePub + Mobi 197 pkt
(206,10 zł najniższa cena z 30 dni)
197.10 zł
219.00 zł (-10%) -
Ebooka "Python: Journey from Novice to Expert. Journey from Novice to Expert" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox 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 "Python: Journey from Novice to Expert. Journey from Novice to Expert" 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 "Python: Journey from Novice to Expert. Journey from Novice to Expert" 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
- Tytuł oryginału:
- Python: Journey from Novice to Expert. Journey from Novice to Expert
- ISBN Ebooka:
- 978-17-871-2076-1, 9781787120761
- Data wydania ebooka :
-
2016-08-31
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@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku Pdf:
- 10.6MB
- Rozmiar pliku ePub:
- 8.6MB
- Rozmiar pliku Mobi:
- 19.7MB
Spis treści książki
- Python: Journey from Novice to Expert
- Table of Contents
- Python: Journey from Novice to Expert
- Python: Journey from Novice to Expert
- Credits
- Preface
- What this learning path covers
- What you need for this learning path
- Who this learning path is for
- Reader feedback
- Customer support
- Downloading the example code
- Errata
- Piracy
- Questions
- 1. Module 1
- 1. Introduction and First Steps Take a Deep Breath
- A proper introduction
- Enter the Python
- About Python
- Portability
- Coherence
- Developer productivity
- An extensive library
- Software quality
- Software integration
- Satisfaction and enjoyment
- What are the drawbacks?
- Who is using Python today?
- Setting up the environment
- Python 2 versus Python 3 the great debate
- Installing Python
- Setting up the Python interpreter
- About virtualenv
- Your first virtual environment
- Your friend, the console
- How you can run a Python program
- Running Python scripts
- Running the Python interactive shell
- Running Python as a service
- Running Python as a GUI application
- How is Python code organized
- How do we use modules and packages
- Pythons execution model
- Names and namespaces
- Scopes
- Object and classes
- Guidelines on how to write good code
- The Python culture
- A note on the IDEs
- Summary
- 2. Built-in Data Types
- Everything is an object
- Mutable or immutable? That is the question
- Numbers
- Integers
- Booleans
- Reals
- Complex numbers
- Fractions and decimals
- Immutable sequences
- Strings and bytes
- Encoding and decoding strings
- Indexing and slicing strings
- Tuples
- Strings and bytes
- Mutable sequences
- Lists
- Byte arrays
- Set types
- Mapping types dictionaries
- The collections module
- Named tuples
- Defaultdict
- ChainMap
- Final considerations
- Small values caching
- How to choose data structures
- About indexing and slicing
- About the names
- Summary
- 3. Iterating and Making Decisions
- Conditional programming
- A specialized else: elif
- The ternary operator
- Looping
- The for loop
- Iterating over a range
- Iterating over a sequence
- Iterators and iterables
- Iterating over multiple sequences
- The while loop
- The break and continue statements
- A special else clause
- The for loop
- Putting this all together
- Example 1 a prime generator
- Example 2 applying discounts
- A quick peek at the itertools module
- Infinite iterators
- Iterators terminating on the shortest input sequence
- Combinatoric generators
- Summary
- Conditional programming
- 4. Functions, the Building Blocks of Code
- Why use functions?
- Reduce code duplication
- Splitting a complex task
- Hide implementation details
- Improve readability
- Improve traceability
- Scopes and name resolution
- The global and nonlocal statements
- Input parameters
- Argument passing
- Assignment to argument names don't affect the caller
- Changing a mutable affects the caller
- How to specify input parameters
- Positional arguments
- Keyword arguments and default values
- Variable positional arguments
- Variable keyword arguments
- Keyword-only arguments
- Combining input parameters
- Avoid the trap! Mutable defaults
- Return values
- Returning multiple values
- A few useful tips
- Recursive functions
- Anonymous functions
- Function attributes
- Built-in functions
- One final example
- Documenting your code
- Importing objects
- Relative imports
- Summary
- Why use functions?
- 5. Saving Time and Memory
- map, zip, and filter
- map
- zip
- filter
- Comprehensions
- Nested comprehensions
- Filtering a comprehension
- dict comprehensions
- set comprehensions
- Generators
- Generator functions
- Going beyond next
- The yield from expression
- Generator expressions
- Some performance considerations
- Don't overdo comprehensions and generators
- Name localization
- Generation behavior in built-ins
- One last example
- Summary
- map, zip, and filter
- 6. Advanced Concepts OOP, Decorators, and Iterators
- Decorators
- A decorator factory
- Object-oriented programming
- The simplest Python class
- Class and object namespaces
- Attribute shadowing
- I, me, and myself using the self variable
- Initializing an instance
- OOP is about code reuse
- Inheritance and composition
- Accessing a base class
- Multiple inheritance
- Method resolution order
- Static and class methods
- Static methods
- Class methods
- Private methods and name mangling
- The property decorator
- Operator overloading
- Polymorphism a brief overview
- Writing a custom iterator
- Summary
- Decorators
- 7. Testing, Profiling, and Dealing with Exceptions
- Testing your application
- The anatomy of a test
- Testing guidelines
- Unit testing
- Writing a unit test
- Mock objects and patching
- Assertions
- A classic unit test example
- Making a test fail
- Interface testing
- Comparing tests with and without mocks
- Boundaries and granularity
- A more interesting example
- Test-driven development
- Exceptions
- Profiling Python
- When to profile?
- Summary
- Testing your application
- 8. The Edges GUIs and Scripts
- First approach scripting
- The imports
- Parsing arguments
- The business logic
- Second approach a GUI application
- The imports
- The layout logic
- The business logic
- Fetching the web page
- Saving the images
- Alerting the user
- How to improve the application?
- Where do we go from here?
- The tkinter.tix module
- The turtle module
- wxPython, PyQt, and PyGTK
- The principle of least astonishment
- Threading considerations
- Summary
- First approach scripting
- 9. Data Science
- IPython and Jupyter notebook
- Dealing with data
- Setting up the notebook
- Preparing the data
- Cleaning the data
- Creating the DataFrame
- Unpacking the campaign name
- Unpacking the user data
- Cleaning everything up
- Saving the DataFrame to a file
- Visualizing the results
- Where do we go from here?
- Summary
- 10. Web Development Done Right
- What is the Web?
- How does the Web work?
- The Django web framework
- Django design philosophy
- The model layer
- The view layer
- The template layer
- The Django URL dispatcher
- Regular expressions
- Django design philosophy
- A regex website
- Setting up Django
- Starting the project
- Creating users
- Adding the Entry model
- Customizing the admin panel
- Creating the form
- Writing the views
- The home view
- The entry list view
- The form view
- Tying up URLs and views
- Writing the templates
- Setting up Django
- The future of web development
- Writing a Flask view
- Building a JSON quote server in Falcon
- Summary
- 11. Debugging and Troubleshooting
- Debugging techniques
- Debugging with print
- Debugging with a custom function
- Inspecting the traceback
- Using the Python debugger
- Inspecting log files
- Other techniques
- Profiling
- Assertions
- Where to find information
- Troubleshooting guidelines
- Using console editors
- Where to inspect
- Using tests to debug
- Monitoring
- Summary
- Debugging techniques
- 12. Summing Up A Complete Example
- The challenge
- Our implementation
- Implementing the Django interface
- The setup
- The model layer
- A simple form
- The view layer
- Imports and home view
- Listing all records
- Creating records
- Updating records
- Deleting records
- Setting up the URLs
- The template layer
- Home and footer templates
- Listing all records
- Creating and editing records
- Talking to the API
- Deleting records
- Implementing the Falcon API
- The main application
- Writing the helpers
- Coding the password validator
- Coding the password generator
- Writing the handlers
- Coding the password validator handler
- Coding the password generator handler
- Running the API
- Testing the API
- Testing the helpers
- Testing the handlers
- Where do you go from here?
- Summary
- 1. Introduction and First Steps Take a Deep Breath
- 2. Module 2
- 1. Object-oriented Design
- Introducing object-oriented
- Objects and classes
- Specifying attributes and behaviors
- Data describes objects
- Behaviors are actions
- Hiding details and creating the public interface
- Composition
- Inheritance
- Inheritance provides abstraction
- Multiple inheritance
- Case study
- Exercises
- Summary
- 2. Objects in Python
- Creating Python classes
- Adding attributes
- Making it do something
- Talking to yourself
- More arguments
- Initializing the object
- Explaining yourself
- Modules and packages
- Organizing the modules
- Absolute imports
- Relative imports
- Organizing the modules
- Organizing module contents
- Who can access my data?
- Third-party libraries
- Case study
- Exercises
- Summary
- Creating Python classes
- 3. When Objects Are Alike
- Basic inheritance
- Extending built-ins
- Overriding and super
- Multiple inheritance
- The diamond problem
- Different sets of arguments
- Polymorphism
- Abstract base classes
- Using an abstract base class
- Creating an abstract base class
- Demystifying the magic
- Case study
- Exercises
- Summary
- Basic inheritance
- 4. Expecting the Unexpected
- Raising exceptions
- Raising an exception
- The effects of an exception
- Handling exceptions
- The exception hierarchy
- Defining our own exceptions
- Case study
- Exercises
- Summary
- Raising exceptions
- 5. When to Use Object-oriented Programming
- Treat objects as objects
- Adding behavior to class data with properties
- Properties in detail
- Decorators another way to create properties
- Deciding when to use properties
- Manager objects
- Removing duplicate code
- In practice
- Case study
- Exercises
- Summary
- 6. Python Data Structures
- Empty objects
- Tuples and named tuples
- Named tuples
- Dictionaries
- Dictionary use cases
- Using defaultdict
- Counter
- Lists
- Sorting lists
- Sets
- Extending built-ins
- Queues
- FIFO queues
- LIFO queues
- Priority queues
- Case study
- Exercises
- Summary
- 7. Python Object-oriented Shortcuts
- Python built-in functions
- The len() function
- Reversed
- Enumerate
- File I/O
- Placing it in context
- An alternative to method overloading
- Default arguments
- Variable argument lists
- Unpacking arguments
- Functions are objects too
- Using functions as attributes
- Callable objects
- Case study
- Exercises
- Summary
- Python built-in functions
- 8. Strings and Serialization
- Strings
- String manipulation
- String formatting
- Escaping braces
- Keyword arguments
- Container lookups
- Object lookups
- Making it look right
- Strings are Unicode
- Converting bytes to text
- Converting text to bytes
- Mutable byte strings
- Regular expressions
- Matching patterns
- Matching a selection of characters
- Escaping characters
- Matching multiple characters
- Grouping patterns together
- Getting information from regular expressions
- Making repeated regular expressions efficient
- Matching patterns
- Serializing objects
- Customizing pickles
- Serializing web objects
- Case study
- Exercises
- Summary
- Strings
- 9. The Iterator Pattern
- Design patterns in brief
- Iterators
- The iterator protocol
- Comprehensions
- List comprehensions
- Set and dictionary comprehensions
- Generator expressions
- Generators
- Yield items from another iterable
- Coroutines
- Back to log parsing
- Closing coroutines and throwing exceptions
- The relationship between coroutines, generators, and functions
- Case study
- Exercises
- Summary
- 10. Python Design Patterns I
- The decorator pattern
- A decorator example
- Decorators in Python
- The observer pattern
- An observer example
- The strategy pattern
- A strategy example
- Strategy in Python
- The state pattern
- A state example
- State versus strategy
- State transition as coroutines
- The singleton pattern
- Singleton implementation
- The template pattern
- A template example
- Exercises
- Summary
- The decorator pattern
- 11. Python Design Patterns II
- The adapter pattern
- The facade pattern
- The flyweight pattern
- The command pattern
- The abstract factory pattern
- The composite pattern
- Exercises
- Summary
- 12. Testing Object-oriented Programs
- Why test?
- Test-driven development
- Unit testing
- Assertion methods
- Reducing boilerplate and cleaning up
- Organizing and running tests
- Ignoring broken tests
- Testing with py.test
- One way to do setup and cleanup
- A completely different way to set up variables
- Skipping tests with py.test
- Imitating expensive objects
- How much testing is enough?
- Case study
- Implementing it
- Exercises
- Summary
- Why test?
- 13. Concurrency
- Threads
- The many problems with threads
- Shared memory
- The global interpreter lock
- Thread overhead
- The many problems with threads
- Multiprocessing
- Multiprocessing pools
- Queues
- The problems with multiprocessing
- Futures
- AsyncIO
- AsyncIO in action
- Reading an AsyncIO future
- AsyncIO for networking
- Using executors to wrap blocking code
- Streams
- Executors
- Case study
- Exercises
- Summary
- Threads
- 1. Object-oriented Design
- 3. Module 3
- 1. Getting Started One Environment per Project
- Creating a virtual Python environment using venv
- Creating your first venv
- venv arguments
- Differences between virtualenv and venv
- Bootstrapping pip using ensurepip
- ensurepip usage
- Manual pip install
- Installing C/C++ packages
- Debian and Ubuntu
- Red Hat, CentOS, and Fedora
- OS X
- Windows
- Summary
- Creating a virtual Python environment using venv
- 2. Pythonic Syntax, Common Pitfalls, and Style Guide
- Code style or what is Pythonic code?
- Formatting strings printf-style or str.format?
- PEP20, the Zen of Python
- Beautiful is better than ugly
- Explicit is better than implicit
- Simple is better than complex
- Flat is better than nested
- Sparse is better than dense
- Readability counts
- Practicality beats purity
- Errors should never pass silently
- In the face of ambiguity, refuse the temptation to guess
- One obvious way to do it
- Now is better than never
- Hard to explain, easy to explain
- Namespaces are one honking great idea
- Conclusion
- Explaining PEP8
- Duck typing
- Differences between value and identity comparisons
- Loops
- Maximum line length
- Verifying code quality, pep8, pyflakes, and more
- flake8
- Pep8
- pyflakes
- McCabe
- flake8
- Pylint
- flake8
- Common pitfalls
- Scope matters!
- Function arguments
- Class properties
- Modifying variables in the global scope
- Overwriting and/or creating extra built-ins
- Modifying while iterating
- Catching exceptions differences between Python 2 and 3
- Late binding be careful with closures
- Circular imports
- Import collisions
- Scope matters!
- Summary
- Code style or what is Pythonic code?
- 3. Containers and Collections Storing Data the Right Way
- Time complexity the big O notation
- Core collections
- list a mutable list of items
- dict unsorted but a fast map of items
- set like a dict without values
- tuple the immutable list
- Advanced collections
- ChainMap the list of dictionaries
- counter keeping track of the most occurring elements
- deque the double ended queue
- defaultdict dictionary with a default value
- namedtuple tuples with field names
- enum a group of constants
- OrderedDict a dictionary where the insertion order matters
- heapq the ordered list
- bisect the sorted list
- Summary
- 4. Functional Programming Readability Versus Brevity
- Functional programming
- list comprehensions
- dict comprehensions
- set comprehensions
- lambda functions
- The Y combinator
- functools
- partial no need to repeat all arguments every time
- reduce combining pairs into a single result
- Implementing a factorial function
- Processing trees
- itertools
- accumulate reduce with intermediate results
- chain combining multiple results
- combinations combinatorics in Python
- permutations combinations where the order matters
- compress selecting items using a list of Booleans
- dropwhile/takewhile selecting items using a function
- count infinite range with decimal steps
- groupby grouping your sorted iterable
- islice slicing any iterable
- Summary
- 5. Decorators Enabling Code Reuse by Decorating
- Decorating functions
- Why functools.wraps is important
- How are decorators useful?
- Memoization using decorators
- Decorators with (optional) arguments
- Creating decorators using classes
- Decorating class functions
- Skipping the instance classmethod and staticmethod
- Properties smart descriptor usage
- Decorating classes
- Singletons classes with a single instance
- Total ordering sortable classes the easy way
- Useful decorators
- Single dispatch polymorphism in Python
- Contextmanager, with statements made easy
- Validation, type checks, and conversions
- Useless warnings how to ignore them
- Summary
- Decorating functions
- 6. Generators and Coroutines Infinity, One Step at a Time
- What are generators?
- Advantages and disadvantages of generators
- Pipelines an effective use of generators
- tee using an output multiple times
- Generating from generators
- Context managers
- Coroutines
- A basic example
- Priming
- Closing and throwing exceptions
- Bidirectional pipelines
- Using the state
- Summary
- What are generators?
- 7. Async IO Multithreading without Threads
- Introducing the asyncio library
- The async and await statements
- Python 3.4
- Python 3.5
- Choosing between the 3.4 and 3.5 syntax
- A simple example of single-threaded parallel processing
- Concepts of asyncio
- Futures and tasks
- Event loops
- Event loop implementations
- Event loop policies
- Event loop usage
- Processes
- Asynchronous servers and clients
- Basic echo server
- The async and await statements
- Summary
- Introducing the asyncio library
- 8. Metaclasses Making Classes (Not Instances) Smarter
- Dynamically creating classes
- A basic metaclass
- Arguments to metaclasses
- Accessing metaclass attributes through classes
- Abstract classes using collections.abc
- Internal workings of the abstract classes
- Custom type checks
- Using abc.ABC before Python 3.4
- Automatically registering a plugin system
- Importing plugins on-demand
- Importing plugins through configuration
- Importing plugins through the file system
- Order of operations when instantiating classes
- Finding the metaclass
- Preparing the namespace
- Executing the class body
- Creating the class object (not instance)
- Executing the class decorators
- Creating the class instance
- Example
- Storing class attributes in definition order
- The classic solution without metaclasses
- Using metaclasses to get a sorted namespace
- Summary
- Dynamically creating classes
- 9. Documentation How to Use Sphinx and reStructuredText
- The reStructuredText syntax
- Getting started with reStructuredText
- Inline markup
- Headers
- Lists
- Enumerated list
- Bulleted list
- Option list
- Definition list
- Nested lists
- Links, references, and labels
- Images
- Substitutions
- Blocks, code, math, comments, and quotes
- Conclusion
- The Sphinx documentation generator
- Getting started with Sphinx
- Using sphinx-quickstart
- Using sphinx-apidoc
- Sphinx directives
- The table of contents tree directive (toctree)
- Autodoc, documenting Python modules, classes, and functions
- Sphinx roles
- Getting started with Sphinx
- Documenting code
- Documenting a class with the Sphinx style
- Documenting a class with the Google style
- Documenting a class with the NumPy style
- Which style to choose
- Summary
- The reStructuredText syntax
- 10. Testing and Logging Preparing for Bugs
- Using examples as tests with doctest
- A simple doctest example
- Writing doctests
- Testing with pure documentation
- The doctest flags
- True and False versus 1 and 0
- Normalizing whitespace
- Ellipsis
- Doctest quirks
- Testing dictionaries
- Testing floating-point numbers
- Times and durations
- Testing with py.test
- The difference between the unittest and py.test output
- The difference between unittest and py.test tests
- Simplifying assertions
- Parameterizing tests
- Automatic arguments using fixtures
- Cache
- Custom fixtures
- Print statements and logging
- Plugins
- pytest-cov
- pytest-pep8 and pytest-flakes
- Configuring plugins
- Mock objects
- Using unittest.mock
- Using py.test monkeypatch
- Logging
- Configuration
- Basic logging configuration
- Dictionary configuration
- JSON configuration
- Ini file configuration
- The network configuration
- Logger
- Usage
- Configuration
- Summary
- Using examples as tests with doctest
- 11. Debugging Solving the Bugs
- Non-interactive debugging
- Inspecting your script using trace
- Debugging using logging
- Showing call stack without exceptions
- Debugging asyncio
- Handling crashes using faulthandler
- Interactive debugging
- Console on demand
- Debugging using pdb
- Breakpoints
- Catching exceptions
- Commands
- Debugging using ipdb
- Other debuggers
- Debugging services
- Summary
- Non-interactive debugging
- 12. Performance Tracking and Reducing Your Memory and CPU Usage
- What is performance?
- Timeit comparing code snippet performance
- cProfile finding the slowest components
- First profiling run
- Calibrating your profiler
- Selective profiling using decorators
- Using profile statistics
- Line profiler
- Improving performance
- Using the right algorithm
- Global interpreter lock
- Try versus if
- Lists versus generators
- String concatenation
- Addition versus generators
- Map versus generators and list comprehensions
- Caching
- Lazy imports
- Using optimized libraries
- Just-in-time compiling
- Converting parts of your code to C
- Memory usage
- Tracemalloc
- Memory profiler
- Memory leaks
- Reducing memory usage
- Generators versus lists
- Recreating collections versus removing items
- Using slots
- Performance monitoring
- Summary
- 13. Multiprocessing When a Single CPU Core Is Not Enough
- Multithreading versus multiprocessing
- Hyper-threading versus physical CPU cores
- Creating a pool of workers
- Sharing data between processes
- Remote processes
- Distributed processing using multiprocessing
- Distributed processing using IPyparallel
- ipython_config.py
- ipython_kernel_config.py
- ipcontroller_config.py
- ipengine_config.py
- ipcluster_config.py
- Summary
- 14. Extensions in C/C++, System Calls, and C/C++ Libraries
- Introduction
- Do you need C/C++ modules?
- Windows
- OS X
- Linux/Unix
- Calling C/C++ with ctypes
- Platform-specific libraries
- Windows
- Linux/Unix
- OS X
- Making it easy
- Calling functions and native types
- Complex data structures
- Arrays
- Gotchas with memory management
- Platform-specific libraries
- CFFI
- Complex data structures
- Arrays
- ABI or API?
- CFFI or ctypes?
- Native C/C++ extensions
- A basic example
- C is not Python size matters
- The example explained
- static
- PyObject*
- Parsing arguments
- C is not Python errors are silent or lethal
- Calling Python from C handling complex types
- Summary
- Introduction
- 15. Packaging Creating Your Own Libraries or Applications
- Installing packages
- Setup parameters
- Packages
- Entry points
- Creating global commands
- Custom setup.py commands
- Package data
- Testing packages
- Unittest
- py.test
- Nosetests
- C/C++ extensions
- Regular extensions
- Cython extensions
- Wheels the new eggs
- Distributing to the Python Package Index
- Summary
- 1. Getting Started One Environment per Project
- A. Bibliography
- Index
Packt Publishing - inne książki
-
Build scalable applications from the ground up. Learn foundational concepts, design and implement pipelines, and deploy confidently. This comprehensive guide equips you with the skills to excel in the world of natural language processing.
W przygotowaniu
Powiadom mnie, gdy książka będzie dostępna -
As more evidence emerges that AI has the potential to perpetuate and even cause discrimination, it is imperative for modelers to address this issue head-on. In this book, we use the most popular machine learning language – Python – to teach the skills that modelers need to explain, identify, and remedy potential discrimination and bias.
Building Responsible AI with Python. Learn to identify and mitigate bias with hands-on code examples
Dr. Ali El-Sharif, Muhammad Rehman Zafar, Serg Masís, Nick Schmidt
W przygotowaniu
Powiadom mnie, gdy książka będzie dostępna -
This book presents comprehensive insights into MLOps coupled with real-world examples to help you to write programs, train robust and scalable ML models, and build ML pipelines to train and deploy models securely in production.
W przygotowaniu
Powiadom mnie, gdy książka będzie dostępna -
This book will help you learn all you need to know about open table formats and picking the right table format for your needs, blending theoretical understanding with practical examples to help you build, maintain, and optimize lakehouses in production.
W przygotowaniu
Powiadom mnie, gdy książka będzie dostępna -
Developers with prior experience can leverage the latest modern Android development libraries to build exceptional Android apps. This book discusses crucial factors to consider when developing Android applications and how to maintain them better.
W przygotowaniu
Powiadom mnie, gdy książka będzie dostępna -
Maximize your Ubuntu 24.04 experience with this guide, covering desktop usage, security, and advanced development environments. You'll gain practical insights from the experience of a core Ubuntu developer for enhanced productivity and innovation.
W przygotowaniu
Powiadom mnie, gdy książka będzie dostępna -
This ZBrush guide uses hands-on projects to help you master ZBrush and take your digital sculpting skills to the next level. You'll create impressive 3D models while learning advanced techniques, making your artistic journey both fun and productive.
W przygotowaniu
Powiadom mnie, gdy książka będzie dostępna -
This book lets you manipulate and generate 3D geometry with node-based workflow. You understand node inputs/outputs and basic nodes, along with exploring the new simulation zone for physics simulations, enhancing your skills and creativity.
W przygotowaniu
Powiadom mnie, gdy książka będzie dostępna -
Boost your AWS expertise with the latest in GenAI, MLOps, and certifications. Packed with practical insights and real-world case studies, this book helps you design, implement, and optimize AWS solutions confidently in the evolving cloud landscape.
W przygotowaniu
Powiadom mnie, gdy książka będzie dostępna -
Unlock the power of Houdini FX with this beginner-friendly guide. Learn essential techniques for creating dynamic visual effects, and elevate your artistic skills.
W przygotowaniu
Powiadom mnie, gdy książka będzie dostępna
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@ebookpoint.pl
Książka drukowana


Oceny i opinie klientów: Python: Journey from Novice to Expert. Journey from Novice to Expert Fabrizio Romano, Dusty Phillips, Rick van Hattem (0)
Weryfikacja opinii następuje na podstawie historii zamowień na koncie Użytkownika umiejszczającego opinię.
Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.