Learn Python and Genetic Algorithms
Learn Python and Genetic Algorithms
About the Bundle
With this bundle you not only learn how to code in Python, one of the top five programming languages according to tiobe.com, but also how to use Python to build genetic algorithms, one of the tools used in machine learning.
Learn how to program with Python 3 from beginning to end. Python 101 starts off with the fundamentals of Python and then builds onto what you've learned from there. The audience of this book is primarily people who have programmed in the past but want to learn Python. This book covers a fair amount of intermediate level material in addition to the beginner material.
To cover all this information, the book is split into five parts.
The first part is the beginner section. In it you will learn all the basics of Python. From Python types (strings, lists, dictionaries) to conditional statements to loops. You will also learn about comprehensions, functions and classes and everything in between!
This section will be a curated tour of the Python Standard Library. The intent isn't to cover everything in it, but instead it is to show the reader that you can do a lot with Python right out of the box. We'll be covering the modules I find the most useful in day-to-day programming tasks, such as os, sys, logging, threads, and more.
An all intermediate section covering lambda, decorators, properties, debugging, testing and profiling.
Now things get really interesting! In part four, we will be learning how to install 3rd party libraries (i.e. packages) from the Python Package Index and other locations. We will cover easy_install and pip. This section will also be a series of tutorials where you will learn how to use the packages you download. For example, you will learn how to download a file, parse XML, use an Object Relational Mapper to work with a database, etc.
The last section of the book will cover how to share your code with your friends and the world! You will learn how to package it up and share it on the Python Package Index (i.e. how to create an egg or wheel). You will also learn how to create executables using py2exe, bb_freeze, cx_freeze and PyInstaller. Finally you will learn how to create an installer using Inno Setup.
1 reader testimonial
Python 201 is the sequel to my first book, Python 101. If you already know the basics of Python and now you want to go to the next level, then this is the book for you! This book is for intermediate level Python programmers only. There won't be any beginner chapters here. This book is based on Python 3.
The book will be broken up into five parts. Here's how:
Part I - Intermediate Modules
Chapter 1 - The argparse module
Chapter 2 - The collections module
Chapter 3 - The contextlib module (Context Managers)
Chapter 4 - The functools module (Function overloading, caching, etc)
Chapter 5 - All about imports
Chapter 6 - The importlib module
Chapter 7 - The itertools module
Chapter 8 - The re module (An Intro to Regex in Python)
Chapter 9 - The typing module (Type Hinting)
Part II - Odds and Ends
Chapter 10 - generators / iterators
Chapter 11 - map, filter, reduce
Chapter 12 - unicode
Chapter 13 - benchmarking
Chapter 14 - encryption
Chapter 15 - Connecting to databases
Chapter 16 - super
Chapter 17 - descriptors (magic methods)
Chapter 18 - Scope (local, global and the new non_local)
Part III - Web
Chapter 19 - Web scraping
Chapter 20 - Working with web APIs
Chapter 21 - ftplib
Chapter 22 - urllib
Part IV - Testing
Chapter 23 - Doctest
Chapter 24 - unittest
Chapter 25 - mock
Chapter 26 - coverage.py
Part V - Concurrency
Chapter 27 - The asyncio module
Chapter 28 - The threading module
Chapter 29 - The multiprocessing module
Chapter 30 - The concurrent.futures module
Genetic Algorithms with Python
Genetic algorithms are one of the tools you can use to apply machine learning to finding good, sometimes even optimal, solutions to problems that have billions of potential solutions. This book gives you experience making genetic algorithms work for you, using easy-to-follow example problems that you can fall back upon when learning to use other machine learning tools and techniques. Each chapter is a step-by-step tutorial that helps to build your skills at using genetic algorithms to solve problems. Download the sample chapters for a brief introduction to genetic algorithms and the writing style used in this book.
Python is used as the teaching language in this book because it is a high-level, low ceremony, and powerful language whose code can be easily understood even by entry-level programmers. Because Python is used for teaching, but is not being taught, the use of Python-specific features that might make the code harder to follow for non-Python programmers has been minimized. This means that if you have experience with another programming language then you should have no difficulty learning Python by induction while concentrating on learning about genetic algorithms. Additionally, it should not be difficult for you to translate the working code used in this book to your favorite programming language on-the-fly, depending on the capabilities and support libraries available for your preferred language.
The code in this book is open source, licensed under the Apache License, Version 2.0. The final code from each chapter is available for download using a link at the end of the chapter.
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.