|
1 |
| ---- |
2 |
| -layout: page |
3 |
| -title: Advanced Python |
4 |
| -permalink: /advanced-python/ |
5 |
| ---- |
6 |
| - |
7 |
| -A three day course covering advanced language features and various aspects of the wider |
8 |
| -Python ecosystem. Tooling, best practises and common use cases for the Python programming |
9 |
| -language. A fast paced course with plenty of lab driven exercises to ensure attendees |
10 |
| -really learn the material and techniques for themselves. |
11 |
| - |
12 |
| -This is a course offered by Agile Abstraction, either in house on your site or on our |
13 |
| -premises. For more details and pricing get in touch [[email protected]](mailto:[email protected]). |
14 |
| - |
15 |
| -This course makes a great follow up from [Practical Python](/practical-python) or courses |
16 |
| -like Python for data science that teach you the basics of the langauge. It's had great |
17 |
| -feedback from Developers, Testers, Data Scientists, Financial modellers and analysts |
18 |
| -who already use Python on a day-to-day basis, but need to know how to get even more |
19 |
| -out of the language. |
20 |
| - |
21 |
| -This advanced Python training course will teach you additional techniques and features |
22 |
| -relevant to Python to help you realise its full potential as an elegant language for |
23 |
| -rapid development of test scripts and applications. Python is a dynamic object-oriented |
24 |
| -programming language. It offers strong support for integration with other development |
25 |
| -languages and tools, and comes with extensive standard libraries. |
26 |
| - |
27 |
| -Python also serves as a great introduction to Functional Programming, allowing us to |
28 |
| -explore topics such as closures, comprehensions, generators and decorators. And of |
29 |
| -course one of the great strengths of Python is the extensive set of libraries. We take |
30 |
| -a tour of some of the more interesting libraries and frameworks available in Python. |
31 |
| - |
32 |
| -1. REGULAR EXPRESSIONS AND STRING PROCESSING |
33 |
| - |
34 |
| - Various advanced examples of using Python for working with text processing, including |
35 |
| - the absolute minimum every developer should know about unicdoe and byte-strings, |
36 |
| - everything the string class has to offer and how to make the best of regular |
37 |
| - expressions for pulling structured data of text and byte oriented data. |
38 |
| - |
39 |
| - Discussion of other standard library packages and techniques for more powerful |
40 |
| - text processing including templating library and full blown parsers. |
41 |
| - |
42 |
| -2. Understanding Python Assignment |
43 |
| - |
44 |
| - Python namespaces, why they are such an important and key part of Python and how |
45 |
| - understanding Python assignement and Python namespaces makes it easier to understand |
46 |
| - Python the language. |
47 |
| - |
48 |
| -3. ADVANCED OBJECT ORIENTATION |
49 |
| - |
50 |
| - The full Python object model. Python from the inside out. Really understand Python |
51 |
| - objects and classes. |
52 |
| - |
53 |
| - Inheritance, including multiple inheritance and the method resolution order (mro) and |
54 |
| - why it matters to you. |
55 |
| - |
56 |
| - Language features like: |
57 |
| - |
58 |
| - * class methods |
59 |
| - * bound methods |
60 |
| - * properties |
61 |
| - |
62 |
| - and how they tie together, including real world use cases. |
63 |
| - |
64 |
| - Metaprogramming, operator overloading and the Python magic methods. Really understanding |
65 |
| - Python as a language, bringing all the parts together. Build your own containers in Python, |
66 |
| - understand the power and limitations of the built-in containers and how to customize the |
67 |
| - behaviour of your own Python objects for easier use. |
68 |
| - |
69 |
| -4. MODERN APPROACHES TO EXCEPTION HANDLING |
70 |
| - |
71 |
| - Full Python syntax and features for exception handling, how best to handle exceptions |
72 |
| - including best practises for development and topics like logging. |
73 |
| - |
74 |
| - |
75 |
| -5. INSTALLING, DEPLOYING and DISTRIBUTING PACKAGES and SYSTEMS |
76 |
| - |
77 |
| - ``pip`` and ``pip freeze``, what every developer should know. A discussion of other |
78 |
| - Python tools like code coverage and alternative package installation and management |
79 |
| - tools. |
80 |
| - |
81 |
| - |
82 |
| -6. AGILE DEVELOPMENT WITH TDD IN PYTHON |
83 |
| - |
84 |
| - The advantages of the Test Driven Development approach (test first) and writing effective |
85 |
| - unit tests with both unittest and py.test and using mock objects. |
86 |
| - |
87 |
| -7. Organising Your Code |
88 |
| - |
89 |
| - When code gets beyond a certain size using standard Python structural tools to |
90 |
| - better organise your code for refactoring, understanding, thinking about and |
91 |
| - distributing your code. Python modules, packages, API design and migrating between |
92 |
| - them. |
93 |
| - |
94 |
| -8. ADVANCED LANGUAGE TECHNIQUES |
95 |
| - |
96 |
| - Decorators, decorator factories, class decorators, iterators, generators and more. |
97 |
| - |
98 |
| -9. FUNCTIONAL PROGRAMMING |
99 |
| - |
100 |
| - A highly practical approach to functional programming in Python and why these are |
101 |
| - such important every day concepts in Python programmings. Both the theory and the |
102 |
| - practise. |
103 |
| - |
104 |
| - * lambda functions |
105 |
| - * Higher order functions |
106 |
| - * nested functions |
107 |
| - * currying and partial applications |
108 |
| - * closures |
109 |
| - |
110 |
| -10. A Data Science Overview |
111 |
| - |
112 |
| - A brief overview of working with Numpy, Pandas, OpenPyXl, MatplotLib, and so on. |
113 |
| - |
114 |
| -11. NETWORKING: |
115 |
| - |
116 |
| - The requests library, the HTTP request response cycle, accesssing APIs and building API |
117 |
| - clients, Stream Sockets and server clients, Datagrams and UDP server and clients and |
118 |
| - more. Powerful techques for inter-process communication when working with concurrency. |
119 |
| - |
120 |
| -12. WEB DEVELOPMENT |
121 |
| - |
122 |
| - A full introduction to modern web development with the Flask web development framework |
123 |
| - including URL routing, view functions, templating with the Jinja2 library, security considerations, web forms and database |
124 |
| - integration with the SQLAlchemy ORM. How to write and create simple cross-team tools |
125 |
| - delivered across private networks following modern best practises. |
126 |
| - |
127 |
| -13. THREADS AND CONCURRENCY |
128 |
| - |
129 |
| - Threading and Multiprocessing libraries and the dreaded GIL. Why it matters and when it |
130 |
| - doesn't matter, including how to avoid the pitfalls with multiprocessing and with |
131 |
| - custom C/C++ extensions. |
132 |
| - |
133 |
| - A dicsussion of distributed computing using techniques like message queues and distributed |
134 |
| - task libraries like celery. |
135 |
| - |
136 |
| -14. WORKING WITH DATABASES |
137 |
| - |
138 |
| - Connecting directly to databases from Python and using an ORM like SQLAlchemy to avoid the pain. |
139 |
| - |
| 1 | +--- |
| 2 | +layout: page |
| 3 | +title: Advanced Python |
| 4 | +permalink: /advanced-python/ |
| 5 | +--- |
| 6 | + |
| 7 | +A three day course covering advanced language features and various aspects of the wider |
| 8 | +Python ecosystem. Tooling, best practises and common use cases for the Python programming |
| 9 | +language. A fast paced course with plenty of lab driven exercises to ensure attendees |
| 10 | +really learn the material and techniques for themselves. |
| 11 | + |
| 12 | +This is a course offered by Agile Abstraction, either in house on your site or on our |
| 13 | +premises. For more details and pricing get in touch [[email protected]](mailto:[email protected]). |
| 14 | + |
| 15 | +This course makes a great follow up from [Practical Python](/practical-python) or courses |
| 16 | +like Python for data science that teach you the basics of the langauge. It's had great |
| 17 | +feedback from Developers, Testers, Data Scientists, Financial modellers and analysts |
| 18 | +who already use Python on a day-to-day basis, but need to know how to get even more |
| 19 | +out of the language. |
| 20 | + |
| 21 | +This advanced Python training course will teach you additional techniques and features |
| 22 | +relevant to Python to help you realise its full potential as an elegant language for |
| 23 | +rapid development of test scripts and applications. Python is a dynamic object-oriented |
| 24 | +programming language. It offers strong support for integration with other development |
| 25 | +languages and tools, and comes with extensive standard libraries. |
| 26 | + |
| 27 | +Python also serves as a great introduction to Functional Programming, allowing us to |
| 28 | +explore topics such as closures, comprehensions, generators and decorators. And of |
| 29 | +course one of the great strengths of Python is the extensive set of libraries. We take |
| 30 | +a tour of some of the more interesting libraries and frameworks available in Python. |
| 31 | + |
| 32 | +1. REGULAR EXPRESSIONS AND STRING PROCESSING |
| 33 | + |
| 34 | + Various advanced examples of using Python for working with text processing, including |
| 35 | + the absolute minimum every developer should know about unicdoe and byte-strings, |
| 36 | + everything the string class has to offer and how to make the best of regular |
| 37 | + expressions for pulling structured data of text and byte oriented data. |
| 38 | + |
| 39 | + Discussion of other standard library packages and techniques for more powerful |
| 40 | + text processing including templating library and full blown parsers. |
| 41 | + |
| 42 | +2. Understanding Python Assignment |
| 43 | + |
| 44 | + Python namespaces, why they are such an important and key part of Python and how |
| 45 | + understanding Python assignement and Python namespaces makes it easier to understand |
| 46 | + Python the language. |
| 47 | + |
| 48 | +3. ADVANCED OBJECT ORIENTATION |
| 49 | + |
| 50 | + The full Python object model. Python from the inside out. Really understand Python |
| 51 | + objects and classes. |
| 52 | + |
| 53 | + Inheritance, including multiple inheritance and the method resolution order (mro) and |
| 54 | + why it matters to you. |
| 55 | + |
| 56 | + Language features like: |
| 57 | + |
| 58 | + * class methods |
| 59 | + * bound methods |
| 60 | + * properties |
| 61 | + |
| 62 | + and how they tie together, including real world use cases. |
| 63 | + |
| 64 | + Metaprogramming, operator overloading and the Python magic methods. Really understanding |
| 65 | + Python as a language, bringing all the parts together. Build your own containers in Python, |
| 66 | + understand the power and limitations of the built-in containers and how to customize the |
| 67 | + behaviour of your own Python objects for easier use. |
| 68 | + |
| 69 | +4. MODERN APPROACHES TO EXCEPTION HANDLING |
| 70 | + |
| 71 | + Full Python syntax and features for exception handling, how best to handle exceptions |
| 72 | + including best practises for development and topics like logging. |
| 73 | + |
| 74 | + |
| 75 | +5. INSTALLING, DEPLOYING and DISTRIBUTING PACKAGES and SYSTEMS |
| 76 | + |
| 77 | + ``pip`` and ``pip freeze``, what every developer should know. A discussion of other |
| 78 | + Python tools like code coverage and alternative package installation and management |
| 79 | + tools. |
| 80 | + |
| 81 | + |
| 82 | +6. AGILE DEVELOPMENT WITH TDD IN PYTHON |
| 83 | + |
| 84 | + The advantages of the Test Driven Development approach (test first) and writing effective |
| 85 | + unit tests with both unittest and py.test and using mock objects. |
| 86 | + |
| 87 | +7. Organising Your Code |
| 88 | + |
| 89 | + When code gets beyond a certain size using standard Python structural tools to |
| 90 | + better organise your code for refactoring, understanding, thinking about and |
| 91 | + distributing your code. Python modules, packages, API design and migrating between |
| 92 | + them. |
| 93 | + |
| 94 | +8. ADVANCED LANGUAGE TECHNIQUES |
| 95 | + |
| 96 | + Decorators, decorator factories, class decorators, iterators, generators and more. |
| 97 | + |
| 98 | +9. FUNCTIONAL PROGRAMMING |
| 99 | + |
| 100 | + A highly practical approach to functional programming in Python and why these are |
| 101 | + such important every day concepts in Python programmings. Both the theory and the |
| 102 | + practise. |
| 103 | + |
| 104 | + * lambda functions |
| 105 | + * Higher order functions |
| 106 | + * nested functions |
| 107 | + * currying and partial applications |
| 108 | + * closures |
| 109 | + |
| 110 | +10. A Data Science Overview |
| 111 | + |
| 112 | + A brief overview of working with Numpy, Pandas, OpenPyXl, MatplotLib, and so on. |
| 113 | + |
| 114 | +11. NETWORKING: |
| 115 | + |
| 116 | + The requests library, the HTTP request response cycle, accesssing APIs and building API |
| 117 | + clients, Stream Sockets and server clients, Datagrams and UDP server and clients and |
| 118 | + more. Powerful techques for inter-process communication when working with concurrency. |
| 119 | + |
| 120 | +12. WEB DEVELOPMENT |
| 121 | + |
| 122 | + A full introduction to modern web development with the Flask web development framework |
| 123 | + including URL routing, view functions, templating with the Jinja2 library, security considerations, web forms and database |
| 124 | + integration with the SQLAlchemy ORM. How to write and create simple cross-team tools |
| 125 | + delivered across private networks following modern best practises. |
| 126 | + |
| 127 | +13. THREADS AND CONCURRENCY |
| 128 | + |
| 129 | + Threading and Multiprocessing libraries and the dreaded GIL. Why it matters and when it |
| 130 | + doesn't matter, including how to avoid the pitfalls with multiprocessing and with |
| 131 | + custom C/C++ extensions. |
| 132 | + |
| 133 | + A dicsussion of distributed computing using techniques like message queues and distributed |
| 134 | + task libraries like celery. |
| 135 | + |
| 136 | +14. WORKING WITH DATABASES |
| 137 | + |
| 138 | + Connecting directly to databases from Python and using an ORM like SQLAlchemy to avoid the pain. |
| 139 | + |
0 commit comments