logo

Intermediate Python 3.x (DV4931)

This 4 day course picks up where Introduction to Python 3.x leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development. This is a hands-on programming class. All concepts are reinforced by informal practice during the lecture followed by lab exercises. Many labs build on earlier labs, which helps students retain the earlier material.

Attend our Applications Development courses at our training center in Belgrade, live online (virtual classroom) or on-site (private training).
Special pricing can be applied upon registration (multiple participants from your company, government sector, nonprofit organizations, etc.) – contact us to learn more.

Public class

Training duration: 
4 days / 28 sati

Private class

On-site / Online
Minimum no. of participants: 3
4 days / 28 hours
Price on request
Serbian or English
Training plan: 

1. Python Refresher

  • Variables
  • Basic Python Data Types
  • Sequences
  • Mapping Types
  • Program Structure
  • Files And Console I/O
  • Conditionals
  • Loops
  • Builtins

2. OS Services

  • The OS Module
  • Paths, Directories, and Filenames
  • Environment Variables
  • Launching External Programs
  • Walking Directory Trees
  • The Datetime Module
  • The Calendar Module

3. Pythonic Programming

  • The Zen of Python
  • Common Python Idioms
  • Unpacking Function Arguments
  • Lambda Functions
  • List Comprehensions
  • Iterables
  • Writing Generators
  • String Tricks
  • String Formatting

4. Modules

  • Using Import
  • Module Search Path
  • Namespaces
  • Executing Modules as Scripts
  • Packages
  • Confguring Import With __Init__.Py
  • Name Resolution (AKA Scope)
  • Python Style

5. Classes

  • Defning Classes
  • Instance Objects
  • Instance Attributes
  • Instance Methods
  • __Init__
  • Properties
  • Class Data
  • Class Methods
  • Inheritance
  • Multiple Inheritance
  • Using Super ()
  • Special Methods
  • Class-Private Variables
  • Static Methods

6. Metaprogramming

  • Globals() and Locals()
  • Working with Attributes
  • The Inspect Module
  • Decorator Functions
  • Decorator Classes
  • Decorator Parameters
  • Creating Classes At Runtime
  • Monkey Patching

7. Developer Tools

  • Program Development
  • Comments
  • Pylint
  • Customizing Pylint
  • Using Pyreverse
  • The Unittest Module
  • Fixtures
  • Skipping Tests
  • Making a Suite of Tests
  • Automated Test Discovery
  • Using Nose
  • The Python Debugger
  • Starting Debug Mode
  • Stepping Through a Program
  • Setting Breakpoints
  • Profling
  • Benchmarking

8. Database access

  • The DB API
  • Available Interfaces
  • Connecting to a server
  • connect() examples
  • Creating a cursor
  • Executing a statement
  • Parameterized statements
  • Dictionary cursors
  • Metadata
  • Transactions
  • Object-relational mappers

9. PyQt4

  • Event Driven Applications
  • Gui Application Flow Chart
  • External Anatomy of a Pyqt4 Application
  • Internal Anatomy of a Pyqt4 Application
  • Using Designer
  • Anatomy of a Designer-Based Application
  • Naming Conventions
  • Common Widgets
  • Layouts
  • Selectable Buttons
  • Actions and Events
  • Menu Bar
  • Status Bar
  • Using Predefned Dialogs
  • Creating Custom Dialogs
  • Tabs
  • Niceties
  • Working with Images
  • Complete Example

10. Network Programming

  • Sockets
  • Socket Options
  • Client Concepts
  • Server Concepts
  • Application Protocols
  • Forking Servers
  • Grabbing Html from The Web
  • Consuming Web Services
  • Web Data the Easier Way
  • Sending Email
  • Binary Data
  • The Struct Module

11. Multiprogramming

  • What Are Threads?
  • The Python Thread Manager
  • The Threading Module
  • Threads for the Impatient
  • Creating a Thread Class
  • Variables Sharing
  • Using Queues
  • Debugging Threaded Programs
  • The Multiprocessing Module
  • Alternatives to Multiprogramming

12. System Administration and Scripting

  • The Subprocess Module
  • Subprocess Convenience Functions
  • Using the Sh Module
  • Permissions
  • Saving Information
  • Creating a Useful Command Line Script
  • Creating Filters
  • Parsing the Command Line
  • Simple Logging
  • Logging Levels
  • Formatting Log Entries
  • Logging to Other Destinations

13. XML and JSON

  • About Xml
  • Normal Approaches to Xml
  • Which Module to Use?
  • Getting Started With ElementTree
  • How ElementTree Works
  • Creating a New Xml Document
  • Parsing an Xml Document
  • Navigating the Xml Document
  • Using XPath
  • Advanced XPath
  • About JSON
  • Reading JSON
  • Writing JSON

14. Extending Python with C

  • Why Extend Python?
  • Ways to Extend Python With C
  • Hand-Coded C
  • Overview
  • The C Program
  • Methods
  • The Method Table
  • The Init Function
  • Handling Errors
  • Custom Exception Objects
  • Putting It All Together
  • Using SWIG
  • The Interface Fle
  • Generating the Wrappers
  • Building and Installing The Extension
  • Ctypes
  • For More Information

Appendix A: Python Books

Appendix B: Python Gotchas

Exclusives: 
  • 180 days access to the lab environment after class
  • Access to the lab environment during the training
  • Course material accessible in electronic format
  • Certificate of attendance
Prerequisites: 

All students should be able to write simple Python scripts, using basic data types, program structures, and the standard Python library.

Contact us for more information on pricing:

Eccentrix
Office: +381 11 71 38 192
Mobile: +381 65 31 38 195
E-mail: Jelena.Mijanovic@eccentrix.rs

9đ, Milutina Milankovića St,
11070 New Belgrade
www.eccentrix.rs

Eccentrix
Office: +381 11 71 38 192
Mobile: +381 65 31 38 197
E-mail: Boris.Gigovic@eccentrix.rs

9đ, Milutina Milankovića St,
11070 New Belgrade
www.eccentrix.rs