課程名稱:PCPP1: Certified Professional in Python Programming 1 認證課程 - 簡稱:PCPP1 Training Course |
1. Advanced Object Oriented Programming (OOP)
1.1 Basics About Classes and Objects
1.1.1 Overview
1.1.2 Defining a Class for Creating Objects
1.1.3 Instance Variables
1.1.4 Instance Methods
1.1.5 Class Variables
1.1.6 Class Methods
1.1.7 Static Methods
1.1.8 Alternates to Method Overloading
1.1.9 Encapsulation
1.2 Inheritance
1.2.1 Overview
1.2.2 Deriving Subclasses From a Parent Class
1.2.3 Method Overriding
1.2.4 The Constructor in a Subclass
1.2.5 Abstract Classes and Methods
1.2.6 About Class Variables, Class Method and Static Method
1.2.7 Duck Typing (Polymorphism)
1.3 Multiple Inheritance
1.3.1 Overview
1.3.2 For Class Variables and Class / Instance / Static Methods
1.3.3 For Instance Variables
1.4 MetaClasses
1.4.1 Overview
1.4.2 Attributes from the Metaclass type
1.4.3 Other Metaclasses
1.5 Composition
1.5.1 Using Composition
1.5.2 Shallow vs Deep Copy
1.6 Magic Method
1.6.1 Overview
1.6.2 Magic Method for Initializing Instance Variable
1.6.3 Magic Methods used by str()
1.6.4 Magic Method used by abs()
1.6.5 Magic Methods for Accessing Attributes
1.6.6 Methods used for Getting Items through Index or Iteration
1.6.7 Magic Methods used for Comparison
1.6.8 Magic Methods for Creating new Objects
1.6.9 Magic Methods from the MetaClass type
1.6.10 Other Magic Methods
1.7 Decorators
1.7.1 Overview
1.7.2 Using Function / Class as an Object
1.7.3 Function Decorators
1.7.4 Decorator Stacking
1.7.5 Using Class as Decorator
1.8 Exceptions
1.8.1 Overview
1.8.2 Exception Handling
1.8.3 Getting Information From Exception Objects
1.8.4 Implicit Chained Exceptions
1.8.5 Explicit Chained Exceptions
1.9 Serialization
1.9.1 Overview
1.9.2 Using pickle
1.9.3 Using shelve
2. PEPs and Python Coding Conventions
2.1 PEP 1 - PEP Purpose and Guidelines
2.2 PEP 20 - The Zen of Python
2.3 PEP 8 - Style Guide for Python Code
2.3.1 Code Layout
2.3.2 String Quotes
2.3.3 Whitespace in Expressions and Statements
2.3.4 Trailing Commas
2.3.5 Comments and Documentation Strings
2.3.6 Naming Conventions
2.3.7 Programming Recommendations
2.4 PEP 257 - Docstring Conventions
2.4.1 General Conventions
2.4.2 One-line Docstrings
2.4.3 Multi-line Docstrings
3. Python GUI Programming
3.1 Overview
3.2 About Tkinter
3.3 Example of a Simple GUI Program
3.4 Control Variables
3.4.1 Overview
3.4.2 Linking Label to a Control Variable
3.4.3 Linking Entry to Control Variable
3.4.4 Linking Listbox to Control Variable
3.4.5 Linking Radiobutton to Control Variable
3.4.6 Linking Checkbuton to Control Variable
3.4.7 Sharing Control Variables
3.4.8 Observing / Tracing Control Variables
3.5 Widget Appearance
3.5.1 Background and Foreground Color
3.5.2 Width and Height
3.5.3 Content Alignment
3.5.4 Font
3.5.5 Other Appearance Options
3.6 Widget Layout
3.6.1 Geometry Managers
3.6.2 Using pack()
3.6.3 Using grid()
3.6.4 Using place()
3.6.5 Using Frames
3.7 Events
3.7.1 Overview
3.7.2 Custom Event Binding
3.7.3 Unbinding
3.7.4 Timer Event
3.8 Brief Introduction to Canvas
3.9 Dialogs
3.9.1 Overview
3.9.2 Message Dialogs
3.9.3 Question Dialogs
3.9.4 Input Dialogs
3.9.5 File / Folder Dialogs
3.9.6 Color Picker Dialog
3.10 Notes About Text-Based Input
3.10.1 Basic Widgets for Text-Based Input
3.10.2 Validating User Input Against Specific Type / Format
3.11 Configuring Widgets Within a Class (參考章節)
3.11.1 Creating a Custom Class Derived from the Frame Class
3.11.2 Creating a Custom Class for Adding Widgets
4. Network Programming Basics
4.1 TCP/IP
4.1.1 Overview
4.1.2 IP Protocol
4.1.3 TCP / UDP Port Numbers
4.1.4 Socket
4.1.5 TCP vs UDP
4.1.6 HTTP Protocol
4.2 Using the socket Module
4.2.1 Overview
4.2.2 Using socket in a Client Program
4.2.3 Using socket in a Server Program (參考章節)
4.3 JSON Data Format
4.3.1 About JSON
4.3.2 Using json Module
4.3.3 Working with Objects of Your Custom Class (參考資料)
4.4 The requests module
4.4.1 Overview
4.4.2 REST and CRUD
4.4.3 Using requests module for REST API
4.4.4 About flask (參考章節)
5. File Processing and Database Programming
5.1 XML
5.1.1 XML Overview
5.1.2 xml.etree.ElementTree
5.1.3 Serialization and Deserialization (參考章節)
5.2 CSV
5.3 configparser
5.4 Logging
5.4.1 Basic Usage of “logging” module
5.4.2 Introduction to Logging Hierarchy (參考章節)
5.5 Database Programming Basics
5.5.1 About SQLite and sqlite3 module
5.5.2 About SQL Statements
5.5.3 Using sqlite3 module
5.5.4 About Transaction in “sqlite3” module (參考章節)
6. More About GUI Programming (額外資料)
6.1 Threading
6.1.1 Overview
6.1.2 A Simple Example of using the threading module
6.1.3 A Simple Example of using concurrent.futures module
6.2 More About Size of Root Window / Container
6.3 Custom Dialog for Multiple Inputs
6.3.1 Creating a Custom Dialog with Custom Inputs
6.3.2 Creating a Custom Dialog with Custom Inputs and Buttons
6.3.3 Creating a Custom Dialog with Custom Inputs, Buttons, Validations and Actions
6.4 Using Canvas to Implement Frame Scrolling
6.5 Using the Features covered in various Chapters in a Program
6.5.1 REST API Client GUI Program
6.5.2 REST API Server Program With Database
|