The Python Programming Language
  • ondemand_video
       Video Length : 17h31m52s
  • format_list_bulleted
       Tasks Number : 92
  • group
       Students Enrolled : 315
  • equalizer
       Medium Level
Authors

Kevin Gautama is a systems design and programming engineer with 16 years of expertise in the fields of electrical and electronics and information technology.

He teaches at the Hanoi University of Industry in the period 2003-2011 and he has a certificate of vocational training by the Ministry of Industry and Commerce and the Hanoi University of Industry.

From extensive design experience through numerous engineering projects, the author founded the Enziin Academy.

The Enziin Academy is a startup in the field of educational, it's core goal is to training design engineers in the fields technology related.

The Enziin Academy is headquartered in Stockholm-Sweden with an orientation operating multi-lingual and global.

The author's skills in IT:

  • Implementing the application infrastructure on Amazon's cloud computing platform.
  • Linux server system administration (Sysadmin).
  • Design load balancing and content distribution system.
  • MySQL database administration.
  • C/C++/C# Programming
  • Ruby and Ruby on Rails Programming
  • Python and Django Programming
  • The WPF/C# on the .NET Framework Programming
  • The PHP/JAVA Programming
  • Machine Learning and Expert System.
  • Internet of Things.

The author's skills in the fields of electric and electronic:

  • The design of popular CPU / MCU systems.
  • Design FPGA / CPLD system (Xilinx - Altera).
  • Design and programming of DSP systems (Texas Instruments).
  • Embedded ARM system design.
  • The RTOS Programming
  • Design and programming electronic power systems.
  • PLC - inverter - sensor - electric control cabinet industrial.
  • Control systems distributed connection with Server.

Read more...

  • Curriculum
  • 1. Introduction
    • videocam
      History of Python language

      11m26s
    • videocam
      Install Python on MacOS

      11m26s
    • videocam
      Install Python on Ubuntu

      11m26s
    • videocam
      Install Python on Windows

      11m26s
  • 2. Python Basic
    • videocam
      Syntax and data types

      11m26s
    • videocam
      Number

      11m26s
    • videocam
      String

      11m26s
    • videocam
      List

      11m26s
    • videocam
      Dictionary

      11m26s
    • videocam
      Tuple

      11m26s
    • videocam
      Control statements in Python

      11m26s
  • 3. String and Text
    • videocam
      Split string

      11m26s
    • videocam
      Regular Expressions

      11m26s
    • videocam
      Unicode string

      11m26s
    • videocam
      Removes characters in the string

      11m26s
    • videocam
      Format text in columns

      11m26s
    • videocam
      Convert strings to bytes

      11m26s
  • 4. Numbers-Dates and Times
    • videocam
      Rounding the number

      11m26s
    • videocam
      Performing Accurate Decimal Calculations

      11m26s
    • videocam
      Formatting Numbers

      11m26s
    • videocam
      Working with Infinity and NaNs

      11m26s
    • videocam
      Calculating with Fractions

      11m26s
    • videocam
      Performing Matrix

      11m26s
    • videocam
      Generate random number

      11m26s
    • videocam
      Converting DateTime

      11m26s
    • videocam
      Manipulating Dates Time Zones

      11m26s
  • 5. File and I/O
    • videocam
      Reading and Writing Text Data

      11m26s
    • videocam
      Reading and Writing Binary Data

      11m26s
    • videocam
      Reading and Writing Compressed File

      11m26s
    • videocam
      Reading Binary Data into a Mutable Buffer

      11m26s
    • videocam
      Memory Mapping Binary Files

      11m26s
    • videocam
      Getting a Directory Listing

      11m26s
    • videocam
      Writing Bytes to a Text File

      11m26s
    • videocam
      Communicating with Serial Ports

      11m26s
    • videocam
      Serializing Python Objects

      11m26s
  • 6. Data Encoding and Processing
    • videocam
      Reading and Writing CSV Data

      11m26s
    • videocam
      Reading and Writing JSON Data

      11m26s
    • videocam
      Parsing Simple XML Data

      11m26s
    • videocam
      Parsing Huge XML Files Incrementally

      11m26s
    • videocam
      Convert a Dictionary into XML

      11m26s
    • videocam
      Parsing XML Document

      11m26s
    • videocam
      Interacting with a Relational Database

      11m26s
    • videocam
      Decoding and Encoding Hexadecimal Digits

      11m26s
    • videocam
      Decoding and Encoding Base64

      11m26s
    • videocam
      Reading and Writing Binary Arrays of Structures

      11m26s
  • 7. Functions Programming
    • videocam
      Writing Functions That Accept Any Number of

      11m26s
    • videocam
      Writing Functions That Only Accept Keyword

      11m26s
    • videocam
      Attaching Informational Metadata to Function

      11m26s
    • videocam
      Returning Multiple Values from a Function

      11m26s
    • videocam
      Defining Functions with Default Arguments

      11m26s
    • videocam
      Defining Anonymous or Inline Functions

      11m26s
    • videocam
      Capturing Variables in Anonymous Functions

      11m26s
    • videocam
      Replacing Single Method Classes with Functions

      11m26s
    • videocam
      Carrying Extra State with Callback Functions

      11m26s
    • videocam
      Inlining Callback Functions

      11m26s
    • videocam
      Accessing Variables Defined Inside a Closure

      11m26s
  • 8. Classes and Objects
    • videocam
      Changing the String Representation of Instances

      11m26s
    • videocam
      Saving Memory When Creating a Large Number of

      11m26s
    • videocam
      Encapsulating Names in a Class

      11m26s
    • videocam
      Inheritance in Python

      11m26s
    • videocam
      Polymorphism in Python

      11m26s
    • videocam
      Creating Managed Attributes

      11m26s
  • 9. GUI Programming
    • videocam
      Creating our first Python GUI

      11m26s
    • videocam
      GUI programming with tkinter

      11m26s
    • videocam
      Widget

      11m26s
    • videocam
      Layout Management

      11m26s
    • videocam
      Controls in GUI

      11m26s
    • videocam
      Matplotlib Charts

      11m26s
  • 10. Network and Web Programming
    • videocam
      HTTP Services As a Client

      11m26s
    • videocam
      Creating a TCP Server

      11m26s
    • videocam
      Creating a UDP Server

      11m26s
    • videocam
      Transfer file with FTP

      11m26s
  • 11. Multitasking in Python
    • videocam
      Starting and Stopping Threads

      11m26s
    • videocam
      Determining If a Thread Has Started

      11m26s
    • videocam
      Communicating Between Threads

      11m26s
    • videocam
      Locking Critical Sections

      11m26s
    • videocam
      Locking with Deadlock Avoidance

      11m26s
    • videocam
      Storing Thread-Specific State

      11m26s
    • videocam
      Creating a Thread Pool

      11m26s
    • videocam
      Performing Simple Parallel Programming

      11m26s
    • videocam
      Dealing with the GIL

      11m26s
    • videocam
      Implementing Publish/Subscribe Messaging

      11m26s
    • videocam
      Polling Multiple Thread Queues

      11m26s
  • 12. Testing - Debugging and Exceptions
    • videocam
      Testing Output Sent to stdout

      11m26s
    • videocam
      Patching Objects in Unit Tests

      11m26s
    • videocam
      Logging Test Output to a File

      11m26s
    • videocam
      Handling Multiple Exceptions

      11m26s
    • videocam
      Catching All Exceptions

      11m26s
    • videocam
      Creating Custom Exceptions

      11m26s
    • videocam
      Debugging Program Crashes

      11m26s
    • videocam
      Profiling and Timing Your Program

      11m26s
    • videocam
      Making Your Programs Run Faster

      11m26s
Coverpython
The Python Programming Language


Note: This is a module belongs to the classes, billing features separate for this module will be allowed if the content matches. The classes using this module are listed below.

Introduction

Python is a widely used high-level programming language for general-purpose programming, created by Guido van Rossum and first released in 1991.

An interpreted language, Python has a design philosophy that emphasizes code readability, notably using whitespace indentation to delimit code blocks rather than curly brackets or keywords, and a syntax that allows programmers to express concepts in fewer lines of code than might be used in languages such as C++ or Java.

It provides constructs that enable clear programming on both small and large scales. Python features a dynamic type system and automatic memory management.

It supports multiple programming paradigms, including object-oriented, imperative, functional and procedural, and has a large and comprehensive standard library. Python interpreters are available for many operating systems.

CPython, the reference implementation of Python, is open source software and has a community-based development model, as do nearly all of its variant implementations. CPython is managed by the non-profit Python Software Foundation.

Python 2.0 was released on 16 October 2000 and had many major new features, including a cycle-detecting garbage collector and support for Unicode.

With this release, the development process became more transparent and community-backed.

Python 3.0, called Python 3000 or py3k was released on 3 December 2008 after a long testing period. It is a major revision of the language that is not backward-compatible with previous versions.

However, many of its major features have been backported to the backward-compatible Python 2.6.x and 2.7.x version series.

Features and philosophy

Python is a multi-paradigm programming language. Object-oriented programming and structured programming are fully supported, and many of its features support functional programming and aspect-oriented programming, including by metaprogramming and metaobjects.

Many other paradigms are supported via extensions, including design by contract and logic programming.

The language's core philosophy is summarized in the document The Zen of Python (PEP 20), which includes aphorisms such as:

  • Beautiful is better than ugly
  • Explicit is better than implicit
  • Simple is better than complex
  • Complex is better than complicated
  • Readability counts

Table of Content

1. Introduction

  • History of Python language
  • Install Python on MacOS
  • Install Python on Ubuntu
  • Install Python on Windows

2. Python Basic

  • Syntax and data types
  • Number
  • String
  • List
  • Dictionary
  • Tuple
  • Control statements in Python

3. String and Text

  • Split string
  • Regular Expressions
  • Unicode string
  • Removes characters in the string
  • Format text in columns
  • Convert strings to bytes

4. Numbers-Dates and Times

  • Rounding the number
  • Performing Accurate Decimal Calculations
  • Formatting Numbers
  • Working with Infinity and NaNs
  • Calculating with Fractions
  • Performing Matrix
  • Generate random number
  • Converting DateTime
  • Manipulating Dates Time Zones

5. File and I/O

  • Reading and Writing Text Data
  • Reading and Writing Binary Data
  • Reading and Writing Compressed File
  • Reading Binary Data into a Mutable Buffer
  • Memory Mapping Binary Files
  • Getting a Directory Listing
  • Writing Bytes to a Text File
  • Communicating with Serial Ports
  • Serializing Python Objects

6. Data Encoding and Processing

  • Reading and Writing CSV Data
  • Reading and Writing JSON Data
  • Parsing Simple XML Data
  • Parsing Huge XML Files Incrementally
  • Convert a Dictionary into XML
  • Parsing XML Document
  • Interacting with a Relational Database
  • Decoding and Encoding Hexadecimal Digits
  • Decoding and Encoding Base64
  • Reading and Writing Binary Arrays of Structures

7. Functions Programming

  • Writing Functions That Accept Any Number of
  • Arguments
  • Writing Functions That Only Accept Keyword
  • Arguments
  • Attaching Informational Metadata to Function
  • Arguments
  • Returning Multiple Values from a Function
  • Defining Functions with Default Arguments
  • Defining Anonymous or Inline Functions
  • Capturing Variables in Anonymous Functions
  • Replacing Single Method Classes with Functions
  • Carrying Extra State with Callback Functions
  • Inlining Callback Functions
  • Accessing Variables Defined Inside a Closure

8. Classes and Objects

  • Changing the String Representation of Instances
  • Saving Memory When Creating a Large Number of
  • Instances
  • Encapsulating Names in a Class
  • Inheritance in Python
  • Polymorphism in Python
  • Creating Managed Attributes

9. GUI Programming

  • Creating our first Python GUI
  • GUI programming with tkinter
  • Widget
  • Layout Management
  • Controls in GUI
  • Matplotlib Charts

10. Network and Web Programming

  • HTTP Services As a Client
  • Creating a TCP Server
  • Creating a UDP Server
  • Transfer file with FTP

11. Multitasking in Python

  • Starting and Stopping Threads
  • Determining If a Thread Has Started
  • Communicating Between Threads
  • Locking Critical Sections
  • Locking with Deadlock Avoidance
  • Storing Thread-Specific State
  • Creating a Thread Pool
  • Performing Simple Parallel Programming
  • Dealing with the GIL
  • Implementing Publish/Subscribe Messaging
  • Polling Multiple Thread Queues

12. Testing - Debugging and Exceptions

  • Testing Output Sent to stdout
  • Patching Objects in Unit Tests
  • Logging Test Output to a File
  • Handling Multiple Exceptions
  • Catching All Exceptions
  • Creating Custom Exceptions
  • Debugging Program Crashes
  • Profiling and Timing Your Program
  • Making Your Programs Run Faster