Python 3: From None to Machine Learning¶
- Title
Python 3: from None to Machine Learning
- Author
Matt Harasymczuk
- Language
English
- ISBN
978-83-957186-2-5
- Year
2015-2022
- Online Access
- License
Creative Commons Attribution-ShareAlike 4.0 International License
Big Picture¶

Note¶
For consulting or training course requests please email matt@astrotech.io
Before training course please setup your environment
More information in Install
About¶
Python Basics¶
Python Basics
- 1. About
- 2. Syntax
- 3. Types
- 4. Sequences
- 5. Mappings
- 6. Conditional
- 7. Exception
- 8. Loops
- 9. Comprehensions
- 9.1. Comprehension About
- 9.2. Comprehension List
- 9.3. Comprehension Set
- 9.4. Comprehension Dict
- 9.5. Comprehension Tuple
- 9.6. Comprehension Map
- 9.7. Comprehension Filter
- 9.8. Generator Expression
- 9.9. Comprehension Nested
- 9.10. Comprehension All, Any
- 9.11. Comprehension Conditionals
- 9.12. Comprehension Good Practices
- 10. Files
- 11. Functions
- 12. Object Oriented Programming
- 12.1. OOP Class Define
- 12.2. OOP Class Instance
- 12.3. OOP Attribute About
- 12.4. OOP Attribute Define
- 12.5. OOP Attribute Set
- 12.6. OOP Attribute Get
- 12.7. OOP Init Define
- 12.8. OOP Init Setattr
- 12.9. OOP Init Validation
- 12.10. OOP Method About
- 12.11. OOP Method Parameters
- 12.12. OOP Method Arguments
- 12.13. OOP Methods and Attributes
- 12.14. OOP Methods and Methods
- 12.15. OOP Stringify About
- 12.16. OOP Stringify Str
- 12.17. OOP Stringify Repr
- 12.18. OOP Inheritance About
- 12.19. OOP Inheritance Inherit
- 12.20. OOP Inheritance Overload
- 12.21. OOP Inheritance Super
- 12.22. OOP Inheritance Patterns
- 12.23. OOP Architecture Rationale
- 12.24. OOP Architecture Class Diagram
- 13. Recap
Python Intermediate¶
Python Intermediate
- 1. About
- 2. Unpack
- 3. Type Annotation
- 4. Datetime and Timezones
- 5. Pickle
- 6. CSV
- 7. JSON
- 8. Regular Expressions
- 8.1. Syntax About
- 8.2. Syntax Qualifier
- 8.3. Syntax Anchor
- 8.4. Syntax Negation
- 8.5. Syntax Identifier
- 8.6. Syntax Quantifier
- 8.7. Syntax Group
- 8.8. Syntax Flag
- 8.9. Syntax Look Ahead/Behind
- 8.10. Syntax Extension
- 8.11. Syntax Use Cases
- 8.12. RE Match
- 8.13. RE Search
- 8.14. RE Findall, Finditer
- 8.15. RE Compare
- 8.16. RE Compile
- 8.17. RE Group
- 8.18. RE Multiline
- 8.19. RE Substitute
- 8.20. RE Split
- 8.21. RE Lazy
- 8.22. RE Type Annotation
- 9. Dataclass
- 9.1. Dataclass About
- 9.2. Dataclass Define Basic
- 9.3. Dataclass Define Special
- 9.4. Dataclass Define Nested
- 9.5. Dataclass Mechanism
- 9.6. Dataclass Postinit
- 9.7. Dataclass Mutable Attrs
- 9.8. Dataclass Field
- 9.9. Dataclass Metadata
- 9.10. Dataclass Parameters
- 9.11. Dataclass Helpers
- 9.12. Dataclass Inheritance
- 9.13. Dataclass Introspect
- 10. Operator
- 11. Enum
- 12. Logging
- 13. Modules and Packages
- 14. Locale
- 15. Mathematics
- 16. Tests
- 17. References
Python Advanced¶
Python Advanced
- 1. About
- 2. Generators
- 3. Functional Programming
- 3.1. FuncProg About
- 3.2. FuncProg Lambda
- 3.3. FuncProg Scope
- 3.4. FuncProg Pure Functions
- 3.5. FuncProg Recurrence
- 3.6. FuncProg Immutable
- 3.7. FuncProg First-class Functions
- 3.8. FuncProg Higher-Order
- 3.9. FuncProg Referential Transparency
- 3.10. FuncProg Namespace
- 3.11. FuncProg Function Attributes
- 3.12. FuncProg Callable
- 3.13. FuncProg Closure
- 3.14. FuncProg Functools
- 4. Decorators
- 5. Object Oriented Programming
- 5.1. OOP Attribute Mutable/Immutable
- 5.2. OOP Attribute Static/Dynamic
- 5.3. OOP Attribute Access Modifiers
- 5.4. OOP Attribute Slots
- 5.5. OOP Method About
- 5.6. OOP Method Access Modifiers
- 5.7. OOP Method Staticmethod
- 5.8. OOP Method Classmethod
- 5.9. OOP Inheritance Patterns
- 5.10. OOP Inheritance Problems
- 5.11. OOP Inheritance Overload
- 5.12. OOP Inheritance Super
- 5.13. OOP Inheritance MRO
- 5.14. OOP Abstract Interface
- 5.15. OOP Abstract Protocol
- 5.16. OOP Abstract Class
- 5.17. OOP Abstract Polymorphism
- 5.18. OOP Object Relations
- 5.19. OOP Object Identity
- 5.20. OOP Object Constructor
- 5.21. OOP Class Factory
- 5.22. OOP Class Metaclass
- 6. Performance
- 7. Concurrency
- 7.1. About
- 7.2. AsyncIO About
- 7.3. AsyncIO Awaitable
- 7.4. AsyncIO Coroutine
- 7.5. AsyncIO Sleep
- 7.6. AsyncIO Run
- 7.7. AsyncIO Wait
- 7.8. AsyncIO Wait For
- 7.9. AsyncIO Task
- 7.10. AsyncIO Future
- 7.11. AsyncIO Shield
- 7.12. AsyncIO Debug
- 7.13. AsyncIO Event Loop
- 7.14. AsyncIO Queue
- 7.15. AsyncIO Stream
- 7.16. AsyncIO Synchronization
- 7.17. AsyncIO Iterator
- 7.18. AsyncIO Context Manager
- 7.19. AsyncIO 3rd Party
- 7.20. Multiprocessing About
- 7.21. Multiprocessing Server
- 7.22. Multiprocessing Client
- 7.23. Multiprocessing 3rd Party
- 7.24. Threading About
- 7.25. Threading Timer
- 7.26. Threading Queues
- 7.27. Threading Create
- 7.28. Threading Synchronization
- 7.29. Threading Join
- 7.30. Threading Worker
- 8. Recap
Database¶
Database
- 1. About
- 2. Theory
- 3. Normalization
- 4. NoSQL
- 5. SQL
- 5.1. SQL About
- 5.2. SQL Data Types
- 5.3. SQL Constraints
- 5.4. SQL Table
- 5.5. SQL Index
- 5.6. SQL Insert
- 5.7. SQL Update
- 5.8. SQL Delete
- 5.9. SQL Transaction
- 5.10. SQL Select From
- 5.11. SQL Select Limit
- 5.12. SQL Select Order By
- 5.13. SQL Select Where
- 5.14. SQL Select Group By
- 5.15. SQL Select Subquery
- 5.16. SQL Select Distinct
- 5.17. SQL Select Functions
- 5.18. SQL Join
- 5.19. SQL Injection
- 5.20. SQL Use Cases
- 6. SQLite3
- 7. SQLAlchemy
- 7.1. SQLAlchemy About
- 7.2. Connection DSN
- 7.3. Connection Engine
- 7.4. Connection Pool
- 7.5. Core Model
- 7.6. Core Operators
- 7.7. Core Insert
- 7.8. Core Select
- 7.9. Core Result
- 7.10. Core Update
- 7.11. Core Delete
- 7.12. Core Join
- 7.13. Core Text
- 7.14. Core Introspect
- 7.15. ORM About
- 7.16. Connection Session
- 7.17. Model Base
- 7.18. Model Define
- 7.19. Model Column
- 7.20. Model Types
- 7.21. Model Indexes
- 7.22. Model Relations
- 7.23. Model Dataclass
- 7.24. Schema Metadata
- 7.25. Schema Reflection
- 7.26. Migration About
- 7.27. Migration Create
- 7.28. Migration Apply
- 7.29. Migration Rollback
- 7.30. Query About
- 7.31. Query Fetch
- 7.32. Query Filter
- 7.33. Query Limit
- 7.34. Query Order By
- 7.35. Query Group By
- 7.36. Query Subquery
- 7.37. Query Union
- 7.38. Query Join
- 7.39. Query Count
- 7.40. Query Distinct
- 7.41. Query Exists
- 7.42. Query Update
- 7.43. Query Delete
- 7.44. Query Execute
- 7.45. Query Debug
- 7.46. Query Profile
- 7.47. Func About
- 7.48. Func Date
- 7.49. Func Group
- 7.50. Func Numeric
- 7.51. Func Count
- 7.52. Func Count
- 6.10. SQLite3 Use Cases
- 8. Case Study
Design Patterns¶
Numpy¶
Pandas¶
Pandas
- 1. About
- 2. Import & Export
- 3. Series
- 4. DataFrame
- 4.1. DataFrame Create
- 4.2. DataFrame Attributes
- 4.3. DataFrame Index
- 4.4. DataFrame Sample
- 4.5. DataFrame Getitem
- 4.6. DataFrame Slice
- 4.7. DataFrame At
- 4.8. DataFrame Loc
- 4.9. DataFrame Select
- 4.10. DataFrame Query
- 4.11. DataFrame Update
- 4.12. DataFrame Alter
- 4.13. DataFrame NA
- 4.14. DataFrame Sort
- 4.15. DataFrame Statistics
- 4.16. DataFrame Rolling
- 4.17. DataFrame Mapping
- 4.18. DataFrame Pivot
- 4.19. DataFrame Group By
- 4.20. DataFrame Aggregations
- 4.21. DataFrame Join
- 4.22. DataFrame Plotting
- 5. Date
- 6. Recap
- 7. Case Studies
Matplotlib¶
Stdlib¶
DevOps¶
DevOps
- 1. About
- 2. Good Engineering Practices
- 3. Tests
- 4. Debugging
- 5. Type Annotation
- 6. CI/CD
- 6.1. CI/CD Devtools Ecosystem
- 6.2. CI/CD Tools
- 6.3. CI/CD Pipelines
- 6.4. Linters
- 6.5. Behavioral Testing
- 6.6. Code Style
- 6.7. Code Coverage
- 6.8. Internationalization
- 6.9. DB Schema Migration
- 6.10. Distributing
- 6.11. Security
- 6.12. Smoke Tests
- 6.13. Static Code Analysis
- 6.14. Test Automation
- 6.15. Type Checking
- 6.16. UI testing
- 6.17. Mutation Testing
Network and HTTP¶
Network and HTTP
- 1. About
- 2. Protocols
- 3. Web
- 3.1. HTTP using stdlib
- 3.2.
http.HTTPStatus
- 3.3.
urllib
- 3.4.
http.server
- 3.5.
http.client
- 3.6. Connecting
- 3.7. GET Request
- 3.8. GET Request in chunks
- 3.9. GET Request to Not Existing Resource
- 3.10. HEAD Request
- 3.11. POST Request
- 3.12. Basic Auth
- 3.13. Assignments
- 3.14. HTTP using
requests
- 3.15. HTML Scrapping
- 3.16. HTTP Frameworks
- 3.17. FastAPI
- 3.18. Templates with
Jinja2
- 3.19. PaaS - Platform as a Service
- 3.20. Asynchronous processing
- 3.21. SOAP and WSDL
- 4. Transport
Django¶
Django
- 1. Certificate
- 2. HTTP
- 3. HTTP URL
- 4. Introduction to Django
- 5. Django Framework Architecture
- 6. Installation and Running
- 7. Settings
- 8. Apps
- 9. Model About
- 10. Models Text Fields
- 11. Models Numeric and Logic
- 12. Model Date and Time
- 13. Models Storage Fields
- 14. Model Special Fields
- 15. Model Relations
- 16. Models Enum
- 17. Model Introspect
- 18. Model Custom Field
- 19. Model Use Case
- 20. Admin panel
- 20.1. Customizing
- 20.2. Permissions
- 20.3. Users
- 20.4. Groups
- 20.5. Content Types
- 20.6. Model Admin
- 20.7. Model registering
- 20.8. Admin fields
- 20.9. Writing own
list_filter
- 20.10. Model Inlines
- 20.11. StackedInline
- 20.12. TabularInline
- 20.13. Extending Admin
- 20.14. Media Class
- 20.15. ModelAdmin Example
- 20.16.
django-import-export
- 20.17. Grapelli
- 20.18. Installation
- 20.19. Settings
- 20.20. Template overwrite
- 20.21. Autocomplete
- 20.22. TinyMCE
- 20.23. FileUploader
- 20.24.
list_editable
- 20.25.
date_hierarchy
- 21. ORM
- 21.1. Create Objects
- 21.2. Update Objects
- 21.3. Delete Objects
- 21.4. Get One Result
- 21.5. Get Many Result
- 21.6. Narrow Results
- 21.7. Check Results
- 21.8. Order Results
- 21.9. Performance
- 21.10. Functions
- 21.11. Other
- 21.12. Lookup
- 21.13. QuerySet
- 21.14. Filtered QuerySets are unique
- 21.15. QuerySets are lazy
- 21.16. Field lookups
- 21.17. Lookups that span relationships
- 21.18. Filters can reference fields on the model
- 21.19. The pk lookup shortcut
- 21.20. Complex lookups with Q objects
- 21.21. Comparing objects
- 21.22.
Q()
expressions - 21.23.
F()
expressions - 21.24. Aggregations
- 21.25. Functions
- 22. ORM Create
- 23. ORM All
- 24. ORM Get
- 25. ORM Update
- 26. ORM Delete
- 27. ORM Filter
- 28. ORM Q
- 29. ORM F
- 30. ORM Functions
- 31. ORM Annotate
- 32. ORM Aggregate
- 33. Views
- 34. URL Router
- 35. Staticfiles
- 36. Templates
- 37. Templatetags
- 38. Forms
- 39. i18n and l10n
- 40. Management Commands
- 41. Standalone scripts
- 42. Middleware
- 43. Database
- 44. Cache
- 45. Signals
- 46. REST
- 47. Auth and Permissions
- 48. API CORS
- 49. Tests and quality
- 50. Tests
- 51. CI/CD - Continuous Integration and Deployment
- 52. Deployment
FastAPI¶
FastAPI
- 1. About
- 2. Type Annotation
- 3. JSON
- 4. HTTP
- 5. Async
- 6. FastAPI
- 6.1. FastAPI About
- 6.2. FastAPI Install
- 6.3. FastAPI Architecture
- 6.4. FastAPI Schema
- 6.5. FastAPI Documentation
- 6.6. FastAPI GET
- 6.7. FastAPI POST
- 6.8. FastAPI Status
- 6.9. FastAPI Cookies
- 6.10. FastAPI Headers
- 6.11. FastAPI Files
- 6.12. FastAPI WebSockets
- 6.13. FastAPI Middleware
- 6.14. FastAPI Background Tasks
- 7. Pydantic
- 8. Database
- 9. Auth
- 10. DevOps
- 11. Microservices
- 11.1. Microservices About
- 11.2. Microservices Architecture
- 11.3. Microservices Distributed Systems
- 11.4. Microservice Reactive
- 11.5. Microservice Cloud
- 11.6. Microservice API
- 11.7. Microservice Problems
- 11.8. Microservice Event
- 11.9. Microservice Lifecycle
- 11.10. Microservices Choreography
- 11.11. Microservice Discovery
- 11.12. Microservice Runtime
- 11.13. Microservice Database
- 11.14. Microservices Good Practices
- 12. Appendix
Data Science¶
Data Science
Machine Learning¶
Object Oriented Programming¶
Object Oriented Programming
Blogposts¶
Blogposts
Dragon¶
Dragon
- 1. Dragon (version alpha)
- 2. Dragon (version beta)
- 3. Dragon (version release candidate)
- 4. Dragon ADR Init Name
- 5. Dragon ADR Init Position
- 6. Dragon ADR Position Set
- 7. Dragon ADR Position Change
- 7.1. Problem
- 7.2. Option 1
- 7.3. Option 2
- 7.4. Option 3
- 7.5. Option 4
- 7.6. Option 5
- 7.7. Option 6
- 7.8. Option 7
- 7.9. Option 8
- 7.10. Option 9
- 7.11. Option 9
- 7.12. Option 10
- 7.13. Option 11
- 7.14. Option 12
- 7.15. Option 13
- 7.16. Option 14
- 7.17. Option 15
- 7.18. Option 16
- 7.19. Option 17
- 7.20. Option 18
- 7.21. Option 19
- 7.22. Option 20
- 7.23. Option 21
- 7.24. Decision
- 8. Dragon ADR Damage Make
- 9. Dragon ADR Damage Take