Advanced Python – Overview
After attending the course, the delegate will:<br
• be able to use more sophisticated Python data types to simplify their coding.<br
• be familiar with more advanced Object-Oriented features to better encapsulate data,<br
provide more reusable classes using descriptors and use properties for cleaner syntax.<br
• be able to use Python to launch and automate subprocesses whether in Python or any<br
other language.<br
• be able to use more advanced functional programming features e.g. for sophisticated<br
multi-dimension sorting, and to apply common behaviour across various functions using<br
decorators.<br
• understand the concept of a closure to allow expanding the parameter list of a restrictedargument function.<br
• understand how regular expressions can capture and modify selected data within text.<br
• be able to retrieve and store data in a variety of standard SQL databases.<br
• be able to transmit and receive platform-neutral data using JSON and XML.<br
• be able to use multi-threading and multi-processing to improve the throughput and<br
responsiveness of their applications.<br
• be able to use network sockets to communicate with any other computer regardless of<br
processor or operating system.
<br
PRE-REQUISITES<br
To have attended the Introduction to Python course in the previous six months
1) Review<br
a) Data types<br
b) Collections and collections module<br
c) Functions
a) Modules<br
b) Importing<br
c) Packages<br
d) Locating modules and packages<br
e) Installing modules and packages
a) map/filter/reduce<br
b) lambda functions<br
c) comprehensions<br
d) decorators<br
e) generators
a) Review<br
b) Operator overloading numeric types<br
c) Overloading the [] operator<br
d) Inheritance<br
e) Abstract classes<br
f) Metaclasses<br
g) Attribute lookup<br
h) Descriptors<br
i) Properties<br
Page 2 of 2
a) Strings<br
b) Regular expressions<br
c) JSON and XML
a) Text files<br
b) Pickle and shelve<br
c) Connecting to a database<br
d) Inserting data<br
e) Retrieving data
a) The unittest framework<br
b) DocTest<br
c) PyTest<br
d) Nose
a) Why concurrency?<br
b) Creating threads<br
c) Running threads<br
d) Locking objects<br
e) Synchronisation: mutex, semaphore,<br
condition, queue objects<br
f) The multiprocessing module
a) Sockets as Interprocess Communication<br
b) Socket domains<br
c) Raw socket programming<br
d) The SocketServer module
1) Context manager<br
2) The pdb debugger<br
3) Numpy and Pandas
If you wish to attend Advanced Python please contact dtimoney@itag.ie