Title Page Copyright and Credits Learn Programming in Python with Cody Jackson About Packt Why subscribe? Packt.com Contributors About the author About the reviewers Packt is searching for authors like you Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Conventions used Get in touch Reviews The Fundamentals of Python What is Python? Python versions Interpreted versus compiled Dynamic versus static Python 2 versus Python 3 division Working with Python Installation Launching the Python interpreter Windows (Win8 and above) Mac Using the Python command prompt Commenting Python code Launching Python programs Using the IPython shell Summary Data Types and Modules Structuring code Multiple line spanning Common data types Python numbers Strings Basic string operations Indexing and slicing strings String formatting Combining and separating strings Lists List usage Adding list elements Mutability Dictionaries Creating dictionaries Working with dictionaries Dictionary details Tuples Why use tuples? Sequence unpacking Sets Using data type methods Sequence methods String methods List methods Tuple methods Dictionary methods Set methods Importing modules Namespaces Dot nomenclature Types of imports Modules as scripts Summary Logic Control if...else statements Loops while loops for loops zip() function Exceptions Exception class hierarchy User-defined exceptions Final thoughts Summary Functions and Object Oriented Programming Working with functions Lambdas Classes, methods, and namespaces How are classes better? Classes and instances Modules Inheritance Operator overloading Properties and class and static methods Properties Getters and setters Class and static methods Summary Files and Databases File I/O Files and streams Reading from a file Iterating through files Seeking Serialization Python and SQLite Working with databases Using SQL to query a database Creating a SQLite database Retrieving data from a database SQLite database files SQLAlchemy Writing a SQLAlchemy database Filling and querying the database Summary Application Planning Software development life cycle Development practices and methodologies Incremental development Continuous integration Prototyping Rapid application development Waterfall development Spiral development Agile development Project requirements Software repositories Summary Writing the Imported Program Project requirements Utility functions Simulating storage tanks Name mangling Simulating valves Base valve class Gate valve class Globe valve class Relief valve class Simulation pumps Base pump class Centrifugal pump class Positive displacement pump class Summary Automated Software Testing Testing techniques Static versus dynamic tests White-box testing Black-box testing When to test Writing tests Refactoring code Summary Writing the Fueling Scenario Fueling scenario requirements Directory structure Component coding Functionality coding Testing Summary Software Post-Production Docstrings Sphinx documentation Lessons learned Summary Graphical User Interface Planning GUI functionality GUI elements Best practices User environment Graphical frameworks Summary Creating a Graphical User Interface Wireframing Coding the interface Kivy logic file Kivy layout file GUI testing Summary Other Books You May Enjoy Leave a review - let other readers know what you think