Python Programming Bible | Networking, GUI, Email, XML, CGI
3.8 (1,699 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
99,159 students enrolled

Python Programming Bible | Networking, GUI, Email, XML, CGI

Python 3 is one of the most popular programming languages. Companies like Facebook, Microsoft and Apple all want Python
3.8 (1,699 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
99,159 students enrolled
Created by Frahaan Hussain
Last updated 8/2018
English
English [Auto-generated]
Current price: Free Original price: $199.99 Discount: 100% off
30-Day Money-Back Guarantee
This course includes
  • 6 hours on-demand video
  • 13 articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to Udemy's top 3,000+ courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Python programming
  • Application programming

  • Semantics of general programming

  • The format of coding applications
  • All the functions of Python programming
  • Application programming
Course content
Expand all 97 lectures 06:08:08
+ Introduction & Setup
5 lectures 13:39

Introduction to my Python programming course.

Preview 01:31

Learn how to setup Python on Mac OS X.

Preview 03:22

Learn how to setup Python on Linux/Ubuntu.

Setup On Linux/Ubuntu
02:50
Setup On Windows
03:26

Let's test your knowledge of the introduction & setup of Python.

Quiz 1 - Intro
1 question
+ Basics
27 lectures 02:36:31

In computer programming, a comment is a programmer-readable explanation or annotation in the source code of a computer program. They are added with the purpose of making the source code easier for humans to understand, and are generally ignored by compilers and interpreters.

Preview 02:24

Learn about Lists and how to group common data together.

Lists
04:19

Learn about Tuples and how to group common data together and how they differ to Lists.

Tuples
03:10

Learn about Dictionaries and how they can be used in a similar manner to Arrays.

Dictionary
05:30

Learn how to convert data/variables to different data types.

Data Type Conversion
01:49

An arithmetic operator is a mathematical function that takes two operands and performs a calculation on them. They are used in common arithmetic and most computer languages contain a set of such operators that can be used within equations to perform a number of types of sequential calculation.

Arithmetic Operators
04:35

The equality operator converts the operands if they are not of the same type, then applies strict comparison. If both operands are objects, then JavaScript compares internal references which are equal when operands refer to the same object in memory.

Preview 02:53

The basic assignment operator is equal ( = ), whichassigns the value of its right operand to its left operand. That is, x = y assigns the value of y to x . The other assignment operators are usually shorthand for standard operations, as shown in the following definitions and examples.

Assignment Operators
02:59

Bitwise operators are used to change individual bits in an operand. A single byte of computer memory-when viewed as 8 bits-can signify the true/false status of 8 flags because each bit can be used as a boolean variable that can hold one of two values: true or false.

Bitwise Operators
10:26

Logical operators are typically used with Boolean (logical) values. When they are, they return a Boolean value. However, the && and || operators actually return the value of one of the specified operands, so if these operators are used with non-Boolean values, they may return a non-Boolean value.

Logical Operators
06:51

As the name explains the membership operators are used to validate the membership of a value. These operators are used to find out whether a value is a member of a sequence such as string or list membership operators are of two types: (1) in and (2) not in.

Membership Operators
02:15

The identity operators in Python are used to determine whether a value is of a certain class or type. They are usually used to determine the type of data a certain variable contains. For example, you can combine the identity operators with the built-in type() function to ensure that you are working with the specific variable type

Identity Operators
02:13

Operator precedence determines the way in which operators are parsed with respect to each other. Operators with higher precedence become the operands of operators with lower precedence.

Operator Precedence
02:48

Decision making is anticipation of conditions occurring while execution of the program and specifying actions taken according to the conditions.

Decision Making
09:17

In computer programming, a loop is a sequence of instruction s that is continually repeated until a certain condition is reached. Typically, a certain process is done, such as getting an item of data and changing it, and then some condition is checked such as whether a counter has reached a prescribed number.

Preview 05:59

Loop control statements change execution from its normal sequence. When execution leaves a scope, all automatic objects that were created in that scope are destroyed.

Loop Control Statements
04:47

Number data types store numeric values. They are immutable data types, means that changing the value of a number data type results in a newly allocated object.

Numbers
05:15

Overview A string is a list of characters in order. A character is anything you can type on the keyboard in one keystroke, like a letter, a number, or a backslash.

Strings
12:12

list (also called an array in other programming languages) is a tool that can be used to store multiple pieces of information at once. It can also be defined as a variable containing multiple other variables.

Lists In Depth
05:01

Python - Tuples. A tuple is a sequence of immutablePython objects. Tuples are sequences, just like lists. The differences between tuples and lists are, the tuples cannot be changed unlike lists and tuples use parentheses, whereas lists use square brackets.

Tuples In Depth
06:03

Learn about Dictionaries and how they can be used in a similar manner to Arrays in more depth.

Dictionary In Depth
07:31

A Python program can handle date and time in several ways. Converting between date formats is a common chore for computers. Python's time and calendar modules help track dates and times

Preview 06:47

In programming, a named section of a program that performs a specific task. In this sense, a function is a type of procedure or routine. Some programming languages make a distinction between a function, which returns a value, and a procedure, which performs some operation but does not return a value.

Functions
11:29

module is a Python object with arbitrarily named attributes that you can bind and reference. Simply, a module is a file consisting of Python code. A module can define functions, classes and variables. A module can also include runnable code.

Modules
04:44

For instance, a keyboard or computer mouse is an input device for a computer, while monitors and printers are output devices. Devices for communication between computers, such as modems and network cards, typically perform both input and output operations.

Preview 12:30

Exception handlingException handling is the process of responding to the occurrence, during computation, of exceptions – anomalous or exceptional conditions requiring special processing – often changing the normal flow of program execution.

Handling Exceptions
07:29

Let's see how your basic Python programming skills are progressing?

Quiz 2 - Basics
6 questions
+ Classes/Objects
10 lectures 31:52

In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods).

Simple Example
03:45

In the class-based object-oriented programming paradigm, "object" refers to a particular instance of a class where the object can be a combination of variables, functions, and data structures

Creating Instance Objects
01:18

Let's discuss how attributes can actually be accessed from a class and it's instance objects.

Accessing Attributes
04:23

constructor is a special kind of method that Python calls when it instantiates an object using the definitions found in your class. Python relies on the constructor to perform tasks such as initialising (assigning values to) any instance variables that the object will need when it starts.

Preview 05:49

destructor is a special member function that is called when the lifetime of an object ends. The purpose of the destructor is to free the resources that the object may have acquired during its lifetime.4 Apr 2018

Destroying Objects
02:21

In object-oriented programming, inheritance is when an object or class is based on another object (prototypal inheritance) or class (class-based inheritance), using the same implementation. Inheritance in most class-based object-oriented languages is a mechanism in which one object acquires all the properties and behaviours of the parent object. Inheritance allows programmers to create classes that are built upon existing classes,[1] to specify a new implementation to maintain the same behaviour (realising an interface), to reuse code and to independently extend original software via public classes and interfaces. The relationships of objects or classes through inheritance give rise to a directed graph.

Class Inheritance
03:32

Method overriding, in object-oriented programming, is a language feature that allows a subclass or child class to provide a specific implementation of a method that is already provided by one of its superclasses or parent classes.

Overriding Methods
02:40

Ffunction overloading or method overloading is the ability to create multiple methods of the same name with different implementations.

Preview 00:50

Operator overloading (less commonly known as ad-hoc polymorphism) is a specific case of polymorphism (part of the OO nature of the language) in which some or all operators like +, = or == are treated as polymorphic functions and as such have different behaviours depending on the types of its arguments.

Overloading Operators
03:56

Data hiding is a software development technique specifically used in object-oriented programming (OOP) to hide internal object details (data members). Data hiding ensures exclusive data access to class members and protects object integrity by preventing unintended or intended changes.

Data Hiding
03:18

How are you progressing with classes and objects?

Quiz 3 - Classes/Objects
5 questions
+ Regular Expressions
4 lectures 14:42

Learn about how the match function can be used to check if a string starts with another string.

Match Function
04:35

Learn about how the search function can be used to check if a string contains another string.

Search Function
02:16

Time to advance our knowledge with super duper advanced expressions to up or RegEx game.

Preview 04:31

Learn how you can easily search and replace content within a string using regular expressions.

Search & Replace
03:20

Let's test your skills in regular expressions.

Quiz 4 - Regular Expressions
2 questions
+ CGI Programming
4 lectures 24:20

Common Gateway Interface (CGI) is a standard protocol that defines how web server software can delegate the generation of webpages to a console application.

Basic CGI Programming
08:28

The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the entity in the response and not the source text of the process, unless that text happens to be the output of the process.

GET Method
05:32

The POST method is used to request that the origin server accept the entity enclosed in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.

POST Method
05:00

An HTTP cookie (also called web cookieInternet cookie, browser cookie, or simply cookie) is a small piece of data sent from a website and stored on the user's computer by the user's web browser while the user is browsing.

Preview 05:20

How is your CGI programming knowledge?

Quiz 5 - CGI Programming
3 questions
+ Database
9 lectures 33:35

Learn how to setup a MySQL database for Python applications.

Setup Database
01:53

Learn how to connect to a database.

Preview 05:27

Learn how to create a table for use in a database.

Create Table
03:26

Learn how to insert data into a table.

Preview 04:15

The Read Database operator is used for loading data from a database.

READ Operation
06:20

The UPDATE statement is used to modify the existing records in a table.

UPDATE Operation
02:07

The DELETE statement is used to delete a row or rows from an existing database.

DELETE Opereation
01:36

Learn how to create a server file.

Preview 04:22

Learn how to create a client file to interact with a server file.

Simple Client
04:09

Are you an expert in databases?

Quiz 6 - Database
3 questions
+ Multithreading
4 lectures 25:22

Learn how to initiate a new thread in your Python application.

Initiate a New Thread
07:10

Learn how to create a thread using a more dynamic class system.

Preview 06:25

Learn about synchronising threads in your application.

Synchronise Threads
03:16

Learn about priority queues and multithreading.

Multithreaded Priority Queue
08:31

How multi threaded are you :D

Quiz 7 - Multithreading
1 question
+ XML
1 lecture 09:58

Learn how to use and parse XML file in Python

Parse an XML File
09:58
+ GUI
20 lectures 58:06

Tkinter is a Python binding to the Tk GUI toolkit. It is the standard Python interface to the Tk GUI toolkit, and is Python's de facto standard GUI. Tkinter is included with the standard Microsoft Windows and Mac OS X install of Python.

Introduction
01:57

The Button widget is a standard Tkinter widget used to implement various kinds of buttons. Buttons can contain text or images, and you can associate a Python function or method with each button. When the button is pressed, Tkinter automatically calls that function or method.

Preview 03:10

The Canvas widget provides structured graphics facilities for Tkinter. This is a highly versatile widget which can be used to draw graphs and plots, create graphics editors, and implement various kinds of custom widgets.

Canvas
03:43

The Checkbutton widget is a standard Tkinter widgets used to implement on-off selections. Checkbuttons can contain text or images, and you can associate a Python function or method with each button. When the button is pressed, Tkinter calls that function or method.

Checkbutton
02:24

The Entry widget is a standard Tkinter widget used to enter or display a single line of text.

Preview 01:49

A frame is rectangular region on the screen. The frame widget is mainly used as a geometry master for other widgets, or to provide padding between other widgets.

Frame
03:35

The Label widget is a standard Tkinter widget used to display a text or image on the screen. The label can only display text in a single font, but the text may span more than one line. In addition, one of the characters can be underlined, for example to mark a keyboard shortcut.

Label
01:29

The Listbox widget is a standard Tkinter widget used to display a list of alternatives. The listbox can only contain text items, and all items must have the same font and color. Depending on the widget configuration, the user can choose one or more alternatives from the list.

Listbox
01:51

The Menubutton widget displays popup or pulldown menu when activated.

Menubutton
03:02

The Menu widget is used to implement toplevel, pulldown, and popup menus.

Menu
07:32

The Message widget is a variant of the Label, designed to display multiline messages. The message widget can wrap text, and adjust its width to maintain a given aspect ratio.

Message
01:39

The Radiobutton is a standard Tkinter widget used to implement one-of-many selections. Radiobuttons can contain text or images, and you can associate a Python function or method with each button. When the button is pressed, Tkinter automatically calls that function or method.

Radiobutton
05:05

The Scale widget allows the user to select a numerical value by moving a “slider” knob along a scale. You can control the minimum and maximum values, as well as the resolution.

Scale
03:19

This widget is used to implement scrolled listboxes, canvases, and text fields.

Scrollbar
03:35

The Text widget provides formatted text display. It allows you to display and edit text with various styles and attributes. The widget also supports embedded images and windows.

Text
03:26

The Toplevel widget work pretty much like Frame, but it is displayed in a separate, top-level window. Such windows usually have title bars, borders, and other “window decorations”.

Toplevel
01:48

The Spinbox widget is a variant of the standard Tkinter Entry widget, which can be used to select from a fixed number of values.

Spinbox
01:32

The PanedWindow widget is a geometry manager widget, which can contain one or more child widgets (“panes”). The child widgets can be resized by the user, by moving separator lines (“sashes”) using the mouse.

PanedWindow
02:58

The Tkinter tkMessageBox has various methods to display a message box.

Preview 02:04

The LabelFrame widget is a variant of the Tkinter Frame widget. By default, it draws a border around its child widgets, and it can also display a title.

LabelFrame
02:08

How GUI are you in this test?

Quiz 8 - GUI
2 questions
+ Extra Useful Links
13 lectures 00:16

https://www.python.org/

Python Homepage
00:01

https://www.w3schools.com/python/

W3Schools
00:01

https://www.codecademy.com/learn/learn-python

codecademy
00:01

https://github.com/python

Github Python
00:01

https://github.com/python/cpython

cpython
00:01

https://www.datacamp.com/tracks/python-programming

DataCamp
00:01

https://www.programiz.com/python-programming

Programiz
00:01

https://pythonprogramming.net/beginner-python-programming-tutorials/

PythonProgramming
00:01

https://docs.python-guide.org/

Hitchhiker's Gudie
00:01

https://docs.python.org/3/tutorial/

Python Docs
00:01

https://devguide.python.org/

Python Developers Guide
00:01

https://github.com/realpython/python-guide

Python Guide (GitHub)
00:01

https://github.com/vinta/awesome-python#readme

Awesome Guide
00:01
Requirements
  • Passion for learning Python
  • Basic computer knowledge and skills
  • Passion for programming
  • Basic knowledge of computer science is optional
Description

Learn about everything there is to know about Python Applications and How To Program Them. A step by step process is used to show explain every facet of these topics.

Gain a good understanding of the following concepts with this course:

  1. What Python is?

  2. How to program in the Python language

  3. Features of the Python programming language

  4. Coding semantics

  5. Website programming

  6. Design practises of applications

  7. Application programming

  8. GUI programming

  9. CGI programming

  10. Network programming

  11. Email programming

  12. XML programming

Python is fast becoming a worldwide Tour De Force that is requested by all companies such as Google, Facebook and Microsoft. This course will ensure you are not left as more and more companies request this awesome language. This course will teach your everything about programming Python applications and websites.

You will receive all the knowledge to use and leverage the powerful technology behind these amazing and wonderful platforms.

Over 205,000 students have enrolled on my courses and all of them are extremely satisfied. You will also be satisfied with this course. If you do not like the course, remember that within 30 days you can request a full refundI guarantee you satisfaction.

If you have any questions regarding the topics covered in this course, please feel free to ask. I'm always happy to help those who want to learn.


To summarise this is what you get:

• Lifetime access to HD quality videos. No monthly subscription. Learn at your own pace, whenever you want.

• All videos are downloadable. Learn wherever you want, even without an internet connection!

• Downloadable starter code and final code for each section.

• Free helpful support in the course Q&A when you have questions or get stuck.

• Multiple coding challenges to practice your new skills (solutions included).

Sounds great? Then start this adventure today by clicking the “Take this course" button, and join me in the only course that you will need!

Who this course is for:
  • Anyone looking to learn about Python
  • People looking to learn about programming
  • Those seeking to understand how Python works
  • People seeking guidance on how to create Python based programs
  • Beginners and experts in this field
  • People seeking more knowledge on the various features of the Python programming language