Advanced Python: Best Practises and Design Patterns

Nivå: Advanced
Snittbetyg: 4,7/5 4,69/5 Based on 157 Reviews

Fördjupa dina befintliga kunskaper inom Python-programmering för att bygga driftsäkra och stabila applikationer. Under denna kurs lär du dig att använda Gang of Fours (GoF) designmönster för att tillämpa beprövade lösningar på vanligt förekommande problem vid programvaruutveckling. Därigenom kan ni undvika fallgropar och kraftigt förbättra effektiviteten i era utvecklingsprojekt.

NEW! MULTI-COURSE PYTHON TRAINING BUNDLE NOW AVAILABLE

This course is now available as part of a multi-course, blended learning premium training bundle! Take your Python skills and career to the next level with multi-modal learning path bundles that lead to certification.

Explore Data Science Bundles

Nyckelfunktioner:

  • After-course instructor coaching benefit
  • Learning Tree end-of-course exam included

Du kommer lära dig att:

  • Använda designmönster och bästa praxis i Python-applikationer
  • Enhetstesta, felsöka och installera Python-program och -moduler
  • Profilera applikationer och optimera kod
  • Använda avancerade Python-programmeringsfunktioner för effektiv, tillförlitlig och underhållbar programvara

Välj den utbildningsform som passar dig bäst

LIVE, LÄRARLEDD

I klass & Live, Online-utbildning

  • 4-day instructor-led training course
  • After-course instructor coaching benefit
  • Learning Tree end-of-course exam included

UTBILDNING PÅ DIN ARBETSPLATS

Teamträning

  • Använd denna eller någon annan utbildning i ditt företag
  • Fullskalig programutveckling
  • Levereras när, var och hur du vill
  • Blandade utbildningsmodeller
  • Skräddarsytt innehåll
  • Coaching av ett expertteam

Anpassa kurs och innehåll efter teamets behov

Kontakta oss

Utveckla dig och ditt team med anpassade eller öppna kurser alternativt e-learning

Learning Tree erbjuder kundanpassad utbildning hos er, öppna kurser i Stockholm, London eller Washington, möjlighet att delta via våra Anywhere centers (Malmö, Göteborg, Linköping, Stockholm eller Borlänge) eller olika former av e-learning med lärarstöd. Läs mer på www.learningtree.se/priser .

I klass & Live, Online-utbildning

Note: This course runs for 4 dagar

  • 9 - 12 maj 9:00 - 16:30 CEST Stockholm / Online (AnyWare) Stockholm / Online (AnyWare) Boka Din Kursplats

  • 8 - 11 aug 9:00 - 16:30 CEST Stockholm / Online (AnyWare) Stockholm / Online (AnyWare) Boka Din Kursplats

  • 14 - 17 nov 9:00 - 16:30 CET Stockholm / Online (AnyWare) Stockholm / Online (AnyWare) Boka Din Kursplats

  • 9 - 12 maj 9:00 - 16:30 BST Online (AnyWare) Online (AnyWare) Boka Din Kursplats

  • 8 - 11 aug 9:00 - 16:30 BST Online (AnyWare) Online (AnyWare) Boka Din Kursplats

  • 15 - 18 feb 15:00 - 22:30 CCET Online (AnyWare) Online (AnyWare) Boka Din Kursplats

  • 19 - 22 apr 15:00 - 22:30 CCST Herndon, VA / Online (AnyWare) Herndon, VA / Online (AnyWare) Boka Din Kursplats

  • 31 maj - 3 jun 15:00 - 22:30 CCST Ottawa / Online (AnyWare) Ottawa / Online (AnyWare) Boka Din Kursplats

  • 16 - 19 aug 15:00 - 22:30 CCST New York / Online (AnyWare) New York / Online (AnyWare) Boka Din Kursplats

Kurs med startgaranti

När du ser symbolen för “Guaranteed to Run” vid ett kurstillfälle vet du att kursen blir av. Garanterat.

Advanced Python Course Information

  • Requirements

    • Working knowledge of Python programming to the level of:
      • Course 1905, Python Programming Introduction, or at least three to six months of Python programming experience
  • Software

    • Concepts taught are applicable to all Python environments, including Microsoft Windows, macOS, and all Linux and UNIX distributions

Advanced Python Course Outline

  • Object-Oriented Programming in Python

    • Extending classes to define subclasses
    • Adding properties to a class
    • Defining abstract base classes
  • Exploring Python Features

    Writing "Pythonic" code

    • Modifying code dynamically with monkey patching
    • Processing large data structures efficiently with generators

    Handling Exceptions

    • Raising user-defined exceptions
    • Reducing code complexity with context managers and the "with" statement
  • Verifying Code and Unit Testing

    Testing best practises

    • Developing and running Python unit tests
    • Simplifying automated testing with the Pytest package

    Verifying code behaviour

    • Mocking dependent objects with the Mock package
    • Use mock objects to verify code behaviour when exceptions occur
  • Detecting Errors and Debugging Techniques

    Identifying errors

    • Logging messages for auditing and debugging
    • Checking your code for potential bugs with Pylint

    Debugging Python code

    • Extracting error information from exceptions
    • Tracing program execution with the PyCharm IDE
  • Implementing Python Design Patterns

    Structural patterns

    • Implementing the Decorator pattern using @decorator
    • Controlling access to an object with the Proxy pattern

    Behavioral patterns

    • Laying out a skeleton algorithm in the Template Method pattern
    • Enabling loose coupling between classes with the Observer pattern
  • Interfacing with REST Web Services and Clients

    Python REST web services

    • Building a REST service
    • Generating JSON responses to support Ajax clients

    Python REST clients

    • Sending REST requests from a Python client
    • Consuming JSON and XML response data
  • Measuring and Improving Application Performance

    Measuring Application Execution

    • Timing execution of functions with the "timeit" module
    • Profiling program execution using "cProfile"
    • Manipulating an execution profile interactively with "pstats"

    Employing Python language features for performance

    • Efficiently applying data structures, including lists, dictionaries and tuples
    • Mapping and filtering data sets using comprehensions
    • Replacing the standard Python interpreter with PyPy
  • Installing and Distributing Modules

    Managing module versions

    • Installing modules from the PyPi repository using "pip"
    • Porting code between Python versions

    Packaging Python modules and applications

    • Establishing isolated Python environments with "virtualenv"
    • Building a distribution package with "setuptools"
    • Uploading your Python modules to a local repository
  • Concurrent Execution

    Lightweight threads

    • Creating and managing multiple threads of control with the Thread class
    • Synchronising threads using locks

    Heavy-weight processes

    • Launching operating system commands as subprocesses
    • Synchronising processes with queues
    • Parallelizing execution using process pools and Executors

Teamträning

Advanced Python Training FAQs

  • I’m just starting out in Python, do you recommend I start with this course?

    This is an advanced, fast-paced programming course. If you're completely new to Python, or know only the basics of the language, we suggest you start with either Course 1904, Programming Basics Training for Non-Programmers or Course 1905, Introduction to Python Training.

  • I’ve already taken Course 1905: Introduction to Python. Is this the right course to take next?

    Absolutely! This course builds on the skills you developed in the introduction course and takes you to the next level of your proficiency with Python.

  • Which version of Python is used for the examples and hands-on exercises?

    The course software uses a recent version of Python 3.

  • My team is using Python version 2.7, does this class still apply to me?

    Yes, nearly all of the Python features we discuss have been back-ported to Python 2.7. Most of the examples and exercises will run under Python 2.7 with minor changes, and any language features that are not supported in Python 2.7 are clearly identified in the notes.

  • What software will I be using for the hands-on exercises?

    You will complete your exercises on a virtual machine (VM) running Microsoft Windows. The IDE for the exercises is PyCharm from Jetbrains, which is pre-installed on your VM.

  • I’m a software developer, how can I benefit from this class?

    This course expands on your basic Python programming skills to help you build applications that are faster, more reliable, and easier to maintain and debug. You'll gain experience not only with advanced Python techniques, you'll also learn how to implement proven software design patterns in your applications. And you'll learn valuable Python testing tools that help ensure that your code works as designed.

  • Can I keep a copy of the code that I write in the course?

    Yes, at the end of the class you can copy your code from your VM to your favourite cloud storage provider (Google Drive, Dropbox, etc.) You'll also receive a copy of all the examples and solutions to all hands-on exercises.

Data Science
Bundled Training

Extend learning beyond a single event with bundled content designed for real-world application.

Har du frågor om vilken utbildning som är rätt för dig?

call 08-506 668 00





Why do we require your location?

It allows us to direct your request to the appropriate Customer Care team.

100% Satisfaction Guaranteed

100 % nöjd. Eller få pengarna tillbaks!*

*Partner-delivered courses may have different terms that apply. Ask for details.

Stockholm / Online (AnyWare)
Stockholm / Online (AnyWare)
Stockholm / Online (AnyWare)
Online (AnyWare)
Online (AnyWare)
Online (AnyWare)
Herndon, VA / Online (AnyWare)
Ottawa / Online (AnyWare)
New York / Online (AnyWare)
Why do we require your location?

It allows us to direct your request to the appropriate Customer Care team.

Hur föredrar du att bli kontaktad:

Please Choose a Language

Canada - English

Canada - Français