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@astronaut.center
Before training course please setup your environment
More information in Install
About¶
Agenda¶
Agenda
- Python: Basics
- Python: Intermediate (level 1)
- Python: Intermediate (level 2)
- Python: Advanced
- Python: Design Patterns
- Python: Test Driven Development
- Python: DevOps, CI/CD
- Python: Performance Optimization
- Python: Data Science and Analysis
- Python: Numpy
- Python: Pandas
- Python: Microservices
- Python: Django
- Python: FastAPI
- Python: Flask
- Python: Graphical User Interface
Install¶
Install
- 1. Install
- 1.1. Wymagania szkolenia
- 1.2. Wymagania dodatkowe dla szkoleń Data Science
- 1.3. Wymagania dodatkowe dla szkoleń Machine Learning
- 1.4. Czy można korzystać z pakietu Anaconda?
- 1.5. Czy można korzystać ze swojego komputera?
- 1.6. Czy szkolenie zacznie lub skończy się wcześniej?
- 1.7. Czy szkolenie będzie nagrywane?
- 1.8. Jaka jest wymagana dostępność?
- 1.9. Jak będzie wyglądało monitorowanie postępu?
- 1.10. Jakie środowisko programistyczne?
- 1.11. Czy mogę korzystać z innego IDE niż PyCharm?
- 1.12. Czy dostanę materiały do szkolenia?
- 1.13. Jaką jakość mają materiały?
- 1.14. Czy będą zadania praktyczne?
- 1.15. Czy konieczne jest konto na Github?
- 2. Install Python
- 3. Install Git
- 4. Install Github
- 5. Install IDE
- 6. Install Project
- 7. Install Doctest
Basics¶
Basics
- 1. About
- 2. Syntax
- 3. Types
- 4. Iterables
- 5. Unpack
- 6. Mappings
- 7. Conditional
- 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 Performance
- 10. Files
- 11. Functions
- 12. Exception
- 13. OOP
- 13.1. OOP Class Define
- 13.2. OOP Class Instance
- 13.3. OOP Attribute About
- 13.4. OOP Attribute Define
- 13.5. OOP Attribute Set
- 13.6. OOP Attribute Get
- 13.7. OOP Init Define
- 13.8. OOP Init Setattr
- 13.9. OOP Init Validation
- 13.10. OOP Method About
- 13.11. OOP Method Parameters
- 13.12. OOP Method Arguments
- 13.13. OOP Methods and Attributes
- 13.14. OOP Methods and Methods
- 13.15. OOP Stringify About
- 13.16. OOP Stringify Str
- 13.17. OOP Stringify Repr
- 13.18. OOP Inheritance About
- 13.19. OOP Inheritance Inherit
- 13.20. OOP Inheritance Overload
- 13.21. OOP Inheritance Super
- 13.22. OOP Inheritance Patterns
- 13.23. OOP Architecture Rationale
- 13.24. OOP Architecture Class Diagram
Intermediate¶
Intermediate
- 1. About
- 2. Star
- 3. Match
- 4. Idiom
- 5. Generators
- 6. JSON
- 7. CSV
- 8. TOML
- 9. Pickle
- 10. Regex
- 10.1. Regex Syntax About
- 10.2. Regex Syntax Qualifier
- 10.3. Regex Syntax Anchor
- 10.4. Regex Syntax Negation
- 10.5. Regex Syntax Identifier
- 10.6. Regex Syntax Quantifier
- 10.7. Regex Syntax Group
- 10.8. Regex Syntax Flag
- 10.9. Regex Syntax Look Ahead/Behind
- 10.10. Regex Syntax Flavors
- 10.11. Regex Syntax Use Cases
- 10.12. Regex Recap
- 10.13. Regex RE Match
- 10.14. Regex RE Search
- 10.15. Regex RE Findall, Finditer
- 10.16. Regex RE Compare
- 10.17. Regex RE Compile
- 10.18. Regex RE Group
- 10.19. Regex RE Multiline
- 10.20. Regex RE Substitute
- 10.21. Regex RE Split
- 10.22. Regex RE Lazy
- 10.23. Regex RE Type Annotation
- 10.24. Regex Cheatsheet
- 11. Datetime
- 12. Enum
- 13. Modules
- 14. Logging
- 15. Math
- 16. Tests
Advanced¶
Advanced
- 1. About
- 2. Syntax
- 3. Typing
- 3.1. Typing About
- 3.2. Typing Basic
- 3.3. Typing Annotations
- 3.4. Typing Iterable
- 3.5. Typing Mapping
- 3.6. Typing Nested
- 3.7. Typing TypedDict
- 3.8. Typing NamedTuple
- 3.9. Typing Callable
- 3.10. Typing Type
- 3.11. Typing Annotated
- 3.12. Typing Extra
- 3.13. Typing Deprecated
- 3.14. Typing Check
- 3.15. Typing Annotate
- 3.16. Typing Cython
- 3.17. Typing Mypyc
- 4. Dataclass
- 4.1. Dataclass About
- 4.2. Dataclass Define Basic
- 4.3. Dataclass Define Special
- 4.4. Dataclass Define Nested
- 4.5. Dataclass Mechanism
- 4.6. Dataclass Postinit
- 4.7. Dataclass Mutable Attrs
- 4.8. Dataclass Field
- 4.9. Dataclass Metadata
- 4.10. Dataclass Parameters
- 4.11. Dataclass Helpers
- 4.12. Dataclass Inheritance
- 4.13. Dataclass Introspect
- 5. OOP
- 5.1. OOP Attribute Mutability
- 5.2. OOP Attribute ClassVar
- 5.3. OOP Attribute Access Modifiers
- 5.4. OOP Attribute Slots
- 5.5. OOP Property Decorator
- 5.6. OOP Property Descriptor
- 5.7. OOP Method About
- 5.8. OOP Method Self
- 5.9. OOP Method Access Modifiers
- 5.10. OOP Method Staticmethod
- 5.11. OOP Method Classmethod
- 5.12. OOP Inheritance Patterns
- 5.13. OOP Inheritance Problems
- 5.14. OOP Inheritance Overload
- 5.15. OOP Inheritance Super
- 5.16. OOP Inheritance MRO
- 5.17. OOP Object Relations
- 5.18. OOP Object Identity
- 5.19. OOP Object Constructor
- 5.20. OOP Class Factory
- 5.21. OOP Class Metaclass
- 6. Operator
- 6.1. Operator String About
- 6.2. Operator String Str
- 6.3. Operator String Repr
- 6.4. Operator String Format
- 6.5. Operator String Operators
- 6.6. Operator Arithmetic About
- 6.7. Operator Left
- 6.8. Operator Increment
- 6.9. Operator Right
- 6.10. Operator Comparison
- 6.11. Operator Comparison
- 6.12. Operator Contains
- 6.13. Operator Bitwise
- 6.14. Operator Builtin
- 6.15. Operator Accessors
- 6.16. Operator Reflection
- 6.17. Operator Numerical
- 7. Protocol
- 8. Functional
- 8.1. Functional About
- 8.2. Functional Lambda
- 8.3. Functional Pure Functions
- 8.4. Functional Recurrence
- 8.5. Functional Immutable
- 8.6. Functional Referential Transparency
- 8.7. Functional First-Class
- 8.8. Functional Higher-Order
- 8.9. Functional Map
- 8.10. Functional Filter
- 8.11. Functional Reduce
- 8.12. Functional Function Attributes
- 8.13. Functional Callable
- 8.14. Functional Scope
- 8.15. Functional Namespace
- 8.16. Functional Pattern Closure
- 8.17. Functional Pattern Callback
- 8.18. Functional Pattern MapReduce
- 8.19. Functional Pattern Maybe
- 8.20. Functional Stdlib Functools
- 8.21. Operator Module
- 9. Decorators
- 9.1. Decorator About
- 9.2. Decorator Types
- 9.3. Decorator Wrapper
- 9.4. Decorator About Object
- 9.5. Decorator About Arguments
- 9.6. Decorate Function
- 9.7. Decorate Stacked
- 9.8. Decorate Method
- 9.9. Decorate Class
- 9.10. Decorator Function
- 9.11. Decorator Method
- 9.12. Decorator Class
- 9.13. Decorator Arguments
- 9.14. Decorator Stdlib Functools
- 9.15. Decorator Recap
- 10. Performance
- 11. Multiprocessing
- 12. Threading
- 13. AsyncIO
- 13.1. About
- 13.2. AsyncIO About
- 13.3. AsyncIO Awaitable
- 13.4. AsyncIO Coroutine
- 13.5. AsyncIO Sleep
- 13.6. AsyncIO Run
- 13.7. AsyncIO Wait
- 13.8. AsyncIO Wait For
- 13.9. AsyncIO Task
- 13.10. AsyncIO Future
- 13.11. AsyncIO Shield
- 13.12. AsyncIO Debug
- 13.13. AsyncIO Event Loop
- 13.14. AsyncIO Queue
- 13.15. AsyncIO Stream
- 13.16. AsyncIO Synchronization
- 13.17. AsyncIO Iterator
- 13.18. AsyncIO Iterator
- 13.19. AsyncIO Comprehensions
- 13.20. AsyncIO Context Manager
- 13.21. AsyncIO 3rd Party
Database¶
Database
- 1. About
- 2. Theory
- 3. ORM
- 4. Normalization
- 5. NoSQL
- 6. SQL
- 6.1. SQL About
- 6.2. SQL Data Types
- 6.3. SQL Constraints
- 6.4. SQL Table
- 6.5. SQL Index
- 6.6. SQL Insert
- 6.7. SQL Update
- 6.8. SQL Delete
- 6.9. SQL Transaction
- 6.10. SQL Select From
- 6.11. SQL Select Limit
- 6.12. SQL Select Order By
- 6.13. SQL Select Where
- 6.14. SQL Select Group By
- 6.15. SQL Select Subquery
- 6.16. SQL Select Distinct
- 6.17. SQL Select Functions
- 6.18. SQL Join
- 6.19. SQL Injection
- 6.20. SQL Views
- 6.21. SQL Explain
- 6.22. SQL Use Cases
- 7. SQLite3
- 8. SQLAlchemy
- 8.1. SQLAlchemy About
- 8.2. Connection DSN
- 8.3. Connection Engine
- 8.4. Connection Pool
- 8.5. Core Model
- 8.6. Core Operators
- 8.7. Core Insert
- 8.8. Core Select
- 8.9. Core Result
- 8.10. Core Update
- 8.11. Core Delete
- 8.12. Core Join
- 8.13. Core Text
- 8.14. Core Introspect
- 8.15. ORM About
- 8.16. Connection Session
- 8.17. Model Base
- 8.18. Model Define
- 8.19. Model Column
- 8.20. Model Types
- 8.21. Model Indexes
- 8.22. Model Relations
- 8.23. Model Dataclass
- 8.24. Schema Metadata
- 8.25. Schema Reflection
- 8.26. Migration About
- 8.27. Migration Create
- 8.28. Migration Apply
- 8.29. Migration Rollback
- 8.30. Query About
- 8.31. Query Fetch
- 8.32. Query Filter
- 8.33. Query Limit
- 8.34. Query Order By
- 8.35. Query Group By
- 8.36. Query Subquery
- 8.37. Query Union
- 8.38. Query Join
- 8.39. Query Count
- 8.40. Query Distinct
- 8.41. Query Exists
- 8.42. Query Update
- 8.43. Query Delete
- 8.44. Query Execute
- 8.45. Query Debug
- 8.46. Query Profile
- 8.47. Func About
- 8.48. Func Date
- 8.49. Func Group
- 8.50. Func Numeric
- 8.51. Func Count
- 8.52. Func Count
- 8.53. SQLAlchemy Extensions
- 8.54. Case Study
- 8.55. SQLAlchemy Use Cases
- 9. Case Study
Design Patterns¶
Design Patterns
- 1. About
- 2. UML
- 3. OOP
- 3.1. OOP Attribute Mutable/Immutable
- 3.2. OOP Attribute ClassVar
- 3.3. OOP Attribute Access Modifiers
- 3.4. OOP Method About
- 3.5. OOP Method Access Modifiers
- 3.6. OOP Method Staticmethod
- 3.7. OOP Method Classmethod
- 3.8. OOP Inheritance Patterns
- 3.9. OOP Inheritance Problems
- 3.10. OOP Inheritance Overload
- 3.11. OOP Inheritance Super
- 3.12. OOP Inheritance MRO
- 3.13. OOP Abstract Interface
- 3.14. OOP Abstract Class
- 3.15. OOP Abstract Protocol
- 3.16. OOP Abstract Polymorphism
- 3.17. OOP Object Identity
- 3.18. OOP Object Constructor
- 4. Protocols
- 5. Decorators
- 5.1. Decorator About
- 5.2. Decorator Types
- 5.3. Decorator Wrapper
- 5.4. Decorator About Object
- 5.5. Decorator About Arguments
- 5.6. Decorate Function
- 5.7. Decorate Stacked
- 5.8. Decorate Method
- 5.9. Decorate Class
- 5.10. Decorator Function
- 5.11. Decorator Method
- 5.12. Decorator Class
- 5.13. Decorator Arguments
- 5.14. Decorator Stdlib Functools
- 5.15. Decorator Recap
- 6. Behavioral
- 7. Structural
- 8. Creational
- 9. Practices
- 10. Paradigms
Numpy¶
Pandas¶
Pandas
- 1. About
- 2. Read
- 3. To
- 4. Series
- 5. DataFrame
- 5.1. DataFrame Create
- 5.2. DataFrame Attributes
- 5.3. DataFrame Index
- 5.4. DataFrame Sample
- 5.5. DataFrame Getitem
- 5.6. DataFrame Slice
- 5.7. DataFrame At
- 5.8. DataFrame Loc
- 5.9. DataFrame Select
- 5.10. DataFrame Query
- 5.11. DataFrame Update
- 5.12. DataFrame Alter
- 5.13. DataFrame NA
- 5.14. DataFrame Sort
- 5.15. DataFrame Statistics
- 5.16. DataFrame Rolling
- 5.17. DataFrame Mapping
- 5.18. DataFrame Pivot
- 5.19. DataFrame GroupBy
- 5.20. DataFrame Aggregations
- 5.21. DataFrame Join
- 5.22. DataFrame Plotting
- 6. Date
- 7. Case Study
- 7.1. API Gmail
- 7.2. CSV COVID19
- 7.3. CSV Phones
- 7.4. CSV Martian
- 7.5. Excel Aquarius
- 7.6. Excel Sensors
- 7.7. HTML Apollo11
- 7.8. HTML Astronauts
- 7.9. HTML Dahab
- 7.10. HTML ESPN
- 7.11. HTML Livescores
- 7.12. HTML NBA
- 7.13. HTML Tablice
- 7.14. HTML GDP
- 7.15. HTML Schedule
- 7.16. HTML Talary
- 7.17. JSON Coinbase
- 7.18. PDF EToll
Matplotlib¶
Matplotlib
Stdlib¶
DevOps¶
DevOps
- 1. About
- 2. Quality
- 3. Tests
- 4. Debugging
- 5. CI/CD
- 5.1. CI/CD Devtools Ecosystem
- 5.2. CI/CD Python
- 5.3. Flit
- 5.4. Tests
- 5.5. CI/CD Tools
- 5.6. Wheel
- 5.7. CI/CD Pipelines
- 5.8. Linters
- 5.9. Behavioral Testing
- 5.10. Code Style
- 5.11. Code Coverage
- 5.12. Internationalization
- 5.13. DB Schema Migration
- 5.14. Distributing
- 5.15. Security
- 5.16. Smoke Tests
- 5.17. Static Code Analysis
- 5.18. Test Automation
- 5.19. Type Checking
- 5.20. UI testing
- 5.21. Mutation Testing
Network¶
Network
- 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
Microservices¶
Microservices
- 1. About
- 2. Protocol
- 3. Microservices
- 3.1. Microservices About
- 3.2. Microservices Architecture
- 3.3. Microservices Distributed Systems
- 3.4. Microservice Reactive
- 3.5. Microservice Cloud
- 3.6. Microservice API
- 3.7. Microservice Problems
- 3.8. Microservice Event
- 3.9. Microservice Lifecycle
- 3.10. Microservices Choreography
- 3.11. Microservice Discovery
- 3.12. Microservice Runtime
- 3.13. Microservice Database
- 3.14. Microservices Good Practices
- 4. Auth
Django¶
FastAPI¶
FastAPI
- 1. About
- 2. FastAPI
- 2.1. FastAPI About
- 2.2. FastAPI Install
- 2.3. FastAPI Architecture
- 2.4. FastAPI Schema
- 2.5. FastAPI Documentation
- 2.6. FastAPI GET
- 2.7. FastAPI POST
- 2.8. FastAPI Status
- 2.9. FastAPI Cookies
- 2.10. FastAPI Headers
- 2.11. FastAPI Files
- 2.12. FastAPI WebSockets
- 2.13. FastAPI Config
- 2.14. FastAPI Dependencies
- 2.15. FastAPI Routers
- 2.16. FastAPI Middleware
- 2.17. FastAPI Background Tasks
- 3. Pydantic
- 4. Database
- 5. Auth
- 6. DevOps
- 7. Case Study
Data Science¶
Data Science
Machine Learning¶
OOP¶
Dragon¶
Dragon
- 1. English
- 2. Polish
- 2.1. Dragon About
- 2.2. Dragon Sprint 01
- 2.3. Dragon Sprint 02
- 2.4. Dragon Sprint 03
- 2.5. Dragon Sprint 04
- 2.6. Dragon Sprint 05
- 2.7. Dragon Sprint 06
- 2.8. Dragon Sprint 07
- 2.9. Dragon Sprint 08
- 2.10. Dragon Sprint 09
- 2.11. Dragon Sprint 10
- 2.12. Dragon Sprint 11
- 2.13. Dragon Sprint 12
- 2.14. Dragon Sprint 13
- 2.15. Dragon Sprint 14
- 2.16. Dragon Sprint 15
- 2.17. Dragon Sprint 16
- 2.18. Dragon Sprint 17
- 2.19. Dragon Sprint 18
- 2.20. Dragon Sprint 19
- 2.21. Dragon Sprint 20
- 2.22. Dragon Sprint 21
- 2.23. Dragon Sprint 22
- 2.24. Dragon Sprint 23
- 3. ADR