Curso Advanced Python Programming
32 horasVisão Geral
Curso Advanced Python Programming. Este curso explora tópicos e habilidades avançadas do Python com foco no desenvolvimento empresarial. Você aprenderá como aproveitar serviços do SO, codificar interfaces de aplicativos gráficos, criar módulos e executar testes de unidade, definir classes, interagir com séries de rede, consultar bancos de dados e processar dados XML. Este Curso Advanced Python Programming abrangente fornece uma exploração aprofundada do trabalho com a linguagem de programação para desenvolvimento empresarial. Na conclusão, você será capaz de usar o Python para concluir tarefas avançadas no mundo real.
Objetivo
Após realizar este Curso Advanced Python Programming você será capaz de:
- Aproveitando os serviços do SO
- Melhorias nas classes
- Codifique interfaces gráficas para aplicações
- Conceitos avançados de metaprogramação em Python
- Módulos e pacotes fáceis de usar e manter
- Implementando e executando testes unitários
- Criação de aplicações multithread e multiprocesso
- Interagindo com serviços de rede
- Projetando scripts profissionais
- Consultando bancos de dados
- Processando dados XML, CSV e JSON
Publico Alvo
- Desenvolvedores, engenheiros,
- Administradores experientes
- Qualquer pessoa focada em habilidades avançadas para desenvolvimento empresarial.
Pre-Requisitos
- Experiência em escrever scripts Python
- Conhecimento prático de Unix/Linux, Mac ou Windows
Materiais
Inglês/Português/Lab PráticoConteúdo Programatico
Python refresher
- Built-in data types
- Lists and tuples
- Dictionaries and sets
- Program structure
- Files and console I/O
- If statement
- for and while loops
OS Services
- The os and os.path modules
- Environment variables
- Launching external commands with subprocess
- Walking directory trees
- Paths, directories, and filenames
- Working with file systems
Dates and times
- Basic date and time classes
- Different time formats
- Converting between formats
- Formatting dates and times
- Parsing date/time information
- Binary data
- What is Binary Data?
- Binary vs text
- Using the Struct module
Pythonic programming
- The Zen of Python
- Tuples
- Advanced unpacking
- Sorting
- Lambda functions
- List comprehensions
- Generator expressions
- String formatting
Functions, modules, and packages
- Four types of function parameters
- Four levels of name scoping
- Single/multi dispatch
- Relative imports
- Using __init__ effectively
- Documentation best practices
Intermediate classes
- Class/static data and methods
- Inheritance (or composition)
- Abstract base classes
- Implementing protocols (context, iterator, etc.) with special methods
Metaprogramming
- Implicit properties
- globals() and locals()
- Working with object attributes
- The inspect module
- Callable classes
- Decorators
- Monkey patching
Developer tools
- Analyzing programs with Pylint
- Using the debugger
- Profiling code
- Testing speed with benchmarking
Unit testing with Pytest
- What is a unit test?
- Writing tests
- Working with fixtures
- Test runners
- Mocking resources
Database access
- The DB API
- Available Interfaces
- Connecting to a server
- Creating and executing a cursor
- Fetching data
- Parameterized statements
- Using Metadata
- Transaction control
- ORMs and NoSQL overview
PyQt
- Overview
- Qt Architecture
- Using designer
- Standard widgets
- Event handling
- Extras
Network Programming
- Built-in classes
- Using requests
- Grabbing web pages
- Sending email
- Working with binary data
- Consuming RESTful services
- Remote access (SSH)
Multiprogramming
- The threading module
- Sharing variables
- The queue module
- The multiprocessing module
- Creating pools
- About async programming
Scripting for System Administration
- Running external programs
- Parsing arguments
- Creating filters to read text files
- Logging
Serializing data – XML and JSON
- Working with XML
- XML modules in Python
- Getting started with ElementTree
- Parsing XML
- Updating an XML tree
- Creating a new document
- About JSON
- Reading JSON
- Writing JSON
- Reading/writing CSV files
- YAML, other formats as time permits
Advanced data handling
- Discover the collections module
- Use defaultdict, Counter, and namedtuple
- Create dataclasses
- Store data offline with pickle
Type hinting
- Annotate variables
- Learn what type hinting does NOT do
- Use the typing module for detailed type hints
- Understand union and optional types
- Write stub interfaces