shape-876@2x

Python

Python Deep Dive for Programmers

מספר הקורס 40830

חשכ"ל
40 סה"כ שעות אקדמאיות
5 מפגשים
* מספר המפגשים והשעות למפגש עשויים להשתנות בין קורס לקורס
calendar-1.svg

המועדים הקרובים

הקורס נפתח גם במתכונת Live class –  למידה און ליין בכיתות אינטראקטיביות עם מיטב המרצים והתכנים של ג'ון ברייס /המי"ל.

ניתן לפתוח קורס בהתאמה אישית לארגונים במועד שיתואם עימנו

04/06/2024

קורס בוקר

סניף

תל אביב

03/11/2024

קורס בוקר

סניף

תל אביב

Overview

Python is a high-level interpreted language that comes with a rich set of data types, support for object-oriented and functional programming, and a versatile library. Combined with a large and active worldwide community of users, it is no surprise that Python is one of the most popular languages in use today, from commercial software companies to the pharmaceutical industry, to research in such diverse fields as biology, sociology, and linguistics. Python is also popular among Web developers, for its strong support for text handling, networks, and databases, and frameworks such as Twisted and Django.

This course is aimed at programmers. It covers control and data structures beyond what is acquired in the basic Python course, concentrating on their unique Python implementation and application, with stress on object-oriented and concurrent programming. Third-party libraries and frameworks are chosen for simplicity and demonstration of the programmatic techniques acquired

hat.png

On Completion, Delegates will be able to

Implement object-oriented designs, to any degree of complexity, in Python. In

Implement user-defined types, such as container-like classes.

Implement Simple GUI applications in wxPython.

Implement Concurrent designs in Python.

Apply Test-driven design with Python unit-testing.

kahal.png

Who Should Attend

This course is suitable for programmers maintaining existing projects or starting new projects in Python.

structure.png

תכנית הלימודים

Full Syllabus

Python refreshment

  • Types
  • Flow of control
  • Functions
  • Strings
  • Collections

Functional programming in Python.

  • Inner functions and closure.
  • Functions as objects.
  • Higher-order functions: decorator.
  • Lambda functions: definition and typical uses.

Data abstraction and Advanced collection

  • Magic methods: Indexed and keyed access.
  • Magic methods: Sequential access – Iterator / generator protocol.
  • List emulation
  • Dictionar
  • Bound and unbound methods.
  • Using metadata.

Object-oriented programming in Python

  • The need for substitutability. The Python approach: “duck typing”
  • Commonality and variance. Inheritance. Abstract base class. Constructor override
  • The message paradigm. Left-handed polymorphism. The principle of substitutability
  • Double polymorphism: multi-methods, double dispatch
  • Polymorphic Design Patterns in Python using metadata: Composite
  • Design patterns made trivial in Python: Singleton, Dynamic Pluggable Factory, Factory Method, Prototype, Proxy

Error and Exception handling

  • Writing to stderr
  • Controlling warnings
  • Exception handling
  • Multiple exceptions
  • The Python exception hierarchy
  • The raise statement
  • Raising our own Exceptions
  • Assert

Packaging and Interop

  • Modules
  • Packaging
  • Distributing packages (Egg and wheel)
  • Package managers
  • Documenting code – pyDoc

Unit Testing

  • Test-driven design in Python
  • Useful modules
  • Tools

Multitasking

  • Creating a process from Python
  • Waiting for a child
  • Using the subprocess module
  • The subprocess.Popen class
  • Passing data through a pipe
  • Processes and threads
  • Threads in Python
  • Synchronisation objects in threading
  • Simple use of Lock
  • The trouble with threads
  • Using the multiprocessing module
  • Queue objects

Python standard library

  • The Standard Library
  • Pretty Printer
  • Operating System interfaces – os and friends
  • System specific attributes – sys
  • Signal handling – signal
  • Converting a signal to an exception
  • Configuration files
  • The ConfigParser module
  • The datetime module and friends
  • The platform module
  • External function interface – ctypes
  • The socket module
  • collections module

Advanced Regular Expressions

  • Regular expressions in python
  • Multiline matching
  • Named captures

Advanced Data handling

  • Files
  • Json and XML
  • Database access – mysql

Useful Packages – The road ahead

  • Web development – packages and frameworks
  • GUI development – packages and frameworks
  • Data analysis and scientific packages
  • Machine learning – Scikit learn
Prerequisites
  • Participants must have current experience with programming with at least one programming language (not including query languages, such as SQL)
  • No previous knowledge of Python is assumed

Schedule Appointment

Fill out the form below, and we will be in touch shortly.

לא הצלחנו לאתר את הטופס.

בודק...