Curso Python Programação Advanced
32 horasVisão Geral
O Curso Python Programação Advanced, fornecerá uma visão geral detalhada dos tópicos avançados de programação python, como alavancar serviços do SO, codificar interfaces gráficas para aplicativos, criar módulos, criar e executar testes de unidade, definir classes, interagir com serviços de rede, consultar bancos de dados, processar XML dados. Este é um extenso treinamento prático envolvendo laboratórios e exercícios para uma exposição prática e em tempo real.
Este Curso Python Programação Advanced é um curso prático intenso que se concentra na resolução de problemas, design, abstração e tópicos avançados de programação. Os principais assuntos incluem abstração de dados, orientação a objetos, programação funcional, sistemas orientados a eventos, simultaneidade e abstração linguística. No entanto, um tema maior do curso diz respeito à ideia de “componibilidade”. Muito do que fazemos na programação moderna não é impulsionado pela necessidade de codificar algoritmos de baixo nível. Em vez disso, muitas vezes precisamos reunir os componentes existentes para formar sistemas maiores. Ao fazer isso, é útil pensar em como as peças interagem umas com as outras e como nossas escolhas de design podem ter um impacto de longo alcance. Em última análise, o objetivo é gerenciar a complexidade do software e fazer escolhas informadas em seus próprios projetos.
Objetivo
Após realizar este Curso Python Programação Advanced você será capaz de:
- Serviços de SO e programação Pythonic
- Módulos, pacotes e classes
- Metaprogramação
- Ferramentas do programador
- Acesso ao banco de dados
- Programação de rede e multiprogramação
- XML e JSON
- Visão geral de módulos não Python
Publico Alvo
- Este curso é destinado a programadores experientes em Python que desejam ir além da escrita de scripts que unem bibliotecas existentes na terra da criação de bibliotecas personalizadas, estruturas e aplicativos maiores. Muito disso envolve pensar em questões de "quadro geral" sobre como as partes de tais sistemas são montadas, como podem ser testadas e muito mais. Você já deve estar confortável usando os tipos internos do Python, escrevendo funções e definindo classes simples. Não é necessário ter profundo conhecimento dos recursos "avançados" do Python. No entanto, uma ampla variedade de tópicos avançados de Python surgirá naturalmente à medida que avançamos no curso.
Pre-Requisitos
- Conhecimento e experiência em programação Python
Materiais
Português/InglêsConteúdo Programatico
Python refresher
- Data types
- Sequences
- Mapping types
- Program structure
- Files and console I/O
- Conditionals
- Loops
- Built-ins
OS Services
- The OS module
- Environment variables
- Launching external commands
- Walking directory trees
- Paths, directories, and filenames
- Working with file systems
- Dates and times
Pythonic Programming
- The Zen of Python
- Common idioms
- Lambda functions
- List comprehensions
- Generator expressions
- String formatting
Modules and packages
- Initialization code
- Namespaces
- Executing modules as scripts
- Documentation
- Packages and name resolution
- Naming conventions
- Using imports
Classes
- Defining classes
- Instance methods and data
- Properties
- Initializers
- Class and static methods/data
- Inheritance
Metaprogramming
- Implicit properties
- globals() and locals()
- Working with attributes
- The inspect module
- Decorators
- Monkey patching
Programmer tools
- Analyzing programs
- Using pylint
- Testing code
- Using unittest
- Debugging
- Profiling and benchmarking
Database access
- The DB API
- Available Interfaces
- Connecting to a server
- Creating and executing a cursor
- Fetching data
- Parameterized statements
- Metadata
- Transaction control
- Other DBMS modules
Network Programming
- Sockets
- Clients
- Servers
- Application protocols
- Forking servers
- Binary data
Multiprogramming
- When to use threads?
- The Global Interpreter Lock
- The threading module
- Simple threading
- Sharing variables
- The queue module
- Debugging threaded programs
- Multiprocessing
- Other alternatives
XML and JSON
- Working with XML
- DOM and Sax
- Introducing ElementTree and xml
- Parsing XML
- Navigating the document
- Creating a new XML document
- JSON
- Parsing JSON into Python
- Converting Python into JSON
Extending Python
- About non-Python modules
- Overview of a C extension
- Writing C by hand
- Using SWIG
- Loading modules with ctypes