Python Associate – Programmer I (v3)
PYTHON
Time:
5 Days
VILT
£270.00
Download our Course Content PDF
DOWNLOAD NOWWhat you’ll Learn
- Utilize variables, data types, operators, and control flow structures effectively
- Use the various pythonic programming principles
- Understand the use of various modules and packages
- Develop well-structured functions and modules
- Implement Metaprogramming
- Implement Metaprogramming
- Access databases using Python programming
- Load, clean, and manipulate data using Pandas
- Understand and use network programming
- Use Python programming for System Administration and Scripting
- Understand and use XML and JSON
Description
This 5-day course covers some Python introduction topics in more detail, and adds 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.
Requirements
Before attending this course, students must have:
- Be able to write simple Python scripts, using basic data types, program structures, and the standard Python library.
Modules in this Course
- Variables
- Basic Python Data Types
- Mapping Types
- Program Structure
- Files and Console I/O
- Conditionals
- Loops
- Built-ins
- Functions
- Modules
- Packages
- The OS Module
- Paths, Directories and Filenames
- Environment Variables
- Launching external Programs
- Walking Directory Trees
- Programming
- Python modules for dates and times
- Ways to store dates and times
- Formatting dates and times
- Parsing date/time strings
- Parsing dates the easier way
- Converting dates and times
- Time zones
- Generating calendars
- Binary” (raw, or non-delimited) data
- Binary vs Text data
- Using Struct
- Bitwise operations
- The Zen of Python
- Tuples
- Iterable unpacking
- Unpacking function arguments
- The sorted() function
- Custom sort keys
- Lambda functions
- List comprehensions
- Dictionary comprehensions
- Set comprehensions
- Iterables
- Generator Expressions
- Generator functions
- String formatting
- f-strings
- Functions
- Function parameters
- Default parameters
- Python Function parameter behavior (from PEP3102)
- Name resolution (AKA Scope)
- The global statement
- Modules
- Using import
- How import *can be dangerous
- Module search path
- Executing modules as scripts
- Packages
- Configuring import with_init_.py
- Documenting modules and packages
- Python style
- What is a class?
- Defining Classes
- Object Instances
- Instance attributes
- Instance Methods
- Constructors
- Getters and setters
- Properties
- Class Data
- Class Methods
- Inheritance
- Using super()
- Multiple Inheritance
- Abstract base classes
- Special Methods
- Static Methods
- Metaprogramming
- Globals() and locals()
- The inspect module
- Working with attributes
- Adding instance methods
- Decorators
- Applying decorators
- Trivial Decorator
- Decorator functions
- Decorator Classes
- Decorator parameters
- Creating classes at runtime
- Monkey Patching
- Callable classes
- Do you need a Metaclass?
- About metaclass
- Mechanics of a metaclass
- Singleton with a metaclass
- Program development
- Comments
- Pylint
- Customizing pylint
- Using pyreverse
- The Python debugger
- Starting debug mode
- Stepping through a program
- Setting breakpoints
- Profiling
- Benchmarking
- What is a unit test?
- The pytest module
- Creating tests
- Running tests (basics)
- Special assertions
- Fixtures
- User-defined fixtures
- Builtin fixtures
- Configuring fixtures
- Parametrizing tests
- Marking tests
- Running tests (advanced)
- Skipping and failing
- Mocking data
- Pymock objects
- Pytest and Unittest
- The DB API
- Connecting to a Server
- Creating a Cursor
- Executing a Statement
- Fetching Data
- SQL Injection
- Parameterized Statements
- Dictionary Cursors
- Metadata
- Transactions
- Object-relational Mappers
- NoSQL
- What is PyQt?
- Event Driven Applications
- External Anatomy of a PyQt Application
- Internal Anatomy of a PyQt Application
- Using designer
- Designer-based application workflow
- Naming conventions
- Common Widgets
- Layouts
- Selectable Buttons
- Actions and Events
- Signal/Slot Editor
- Editing modules
- Menu Bar
- Status Bar
- Forms and validation
- Using Predefined Dialogs
- Tabs
- Niceties
- Working with Images
- Complete Example
- Grabbing a web page
- Consuming Web services
- HTTP the easy way
- Sending e-mail
- Email attachments
- Remote Access
- Copying files with Paramiko
- Multiprogramming
- What are Threads?
- The Python Thread Manager
- The threading Module
- Threads for the impatient
- Creating a thread class
- Variable sharing
- Using queues
- Debugging threaded Programs
- The multiprocessing module
- Using pools
- Alternatives to multiprogramming
- Using glob
- Using shlex.split()
- The subprocess module
- Subprocess convenience function
- Capturing a stdout and stderr
- Permissions
- Using Shutil
- Creating a useful command line script
- Creating filters
- Parsing the command line
- Simple Logging
- Formatting log entries
- Logging exception information
- Logging to other destinations
- About XML
- Normal Approaches to XML
- Which module to use?
- Getting started With ElementTree
- How ElementTree Works
- Element
- Creating a New XML Document
- Parsing An XML Document
- Navigating the XML Document
- Using Xpath
- About JSON
- Reading JSON
- Writing JSON
- Customizing JSON
- Reading and Writing YAML
- Reading CSV data
- Nonstandard CSV9
- Using csv.DictReader
- Writing CSV Data
- Pickle
- Deep vs Shallow copying
- Default dictionary values
- Counting with Counter
- Named Tuples
- Printing data structures
- Zipped archives
- Serializing Data
- Type Hinting
- Static Analysis Tools
- Typing Module
- Input Types
- Variance
- Union and Optional
- Stub Type Hinting
Start Now
Unlock Your Potential Today
Take the first step toward achieving your goals with our expertly designed courses. Learn at your own pace and gain skills that set you apart.
GET IN TOUCH WITH AN EXPERT TODAY
