Here is a quick reference guide for Ruby developers:
Labels
.
Search Your Article
Total Pageviews
Friday, March 31, 2017
Ruby Built-in Functions
Since the Kernel module is included by Object class, its methods are available everywhere in the Ruby
program. They can be called without a receiver (functional form). Therefore, they are often called functions.
A complete list of Built-in Functions is given here for your reference:
A complete list of Built-in Functions is given here for your reference:
Ruby Predefined Variables
Ruby's predefined variables affect the behavior of the entire program, so their use in libraries is not recommended.
The values in most predefined variables can be accessed by alternative means.
Following table lists all the Ruby's predefined variables.
The values in most predefined variables can be accessed by alternative means.
Following table lists all the Ruby's predefined variables.
Ruby Predefined Constants
The following table lists all the Ruby's Predefined Constants:
NOTE: TRUE, FALSE, and NIL are backward-compatible. It's preferable to use true, false, and nil.
NOTE: TRUE, FALSE, and NIL are backward-compatible. It's preferable to use true, false, and nil.
Constant Name | Description |
---|---|
TRUE | Synonym for true. |
FALSE | Synonym for false. |
NIL | Synonym for nil. |
Ruby Associated Tools
Standard Ruby Tools:
The standard Ruby distribution contains useful tools along with the interpreter and standard libraries:These tools help you debug and improve your Ruby programs without spending much effort. This tutorial will give you a very good start with these tools.
Ruby - Useful Resources
The following resources contain additional information on Ruby. Please use them to get more in-depth knowledge on this topic.
Useful Links on Ruby
- Main Ruby Site − Official Ruby site. Find a complete list of all documentation, tutorials, news, etc.
- Ruby Documentation − Ruby documentation site.
Discuss Ruby
Ruby is a scripting language designed by Yukihiro Matsumoto, also
known as Matz. It runs on a variety of platforms, such as Windows, Mac
OS, and the various versions of UNIX.
This tutorial gives a complete understanding on Ruby.
This tutorial gives a complete understanding on Ruby.
RSpec - Introduction
RSpec is a unit test framework for the Ruby programming language.
RSpec is different than traditional xUnit frameworks like JUnit because
RSpec is a Behavior driven development tool. What this means is that,
tests written in RSpec focus on the “behavior” of an application being
tested. RSpec does not put emphasis on, how the application works but
instead on how it behaves, in other words, what the application actually
does.
RSpec - Basic Syntax
Let’s take a closer look at the code of our HelloWorld example. First of all, in case it isn’t clear, we are testing the functionality of the HelloWorld class. This of course, is a very simple class that contains only one method say_hello().
Here is the RSpec code again −
Here is the RSpec code again −
RSpec - Writing Specs
In this chapter, we will create a new Ruby class, save it in its own file and create a separate spec file to test this class.
First, in our new class, it is called StringAnalyzer. It’s a simple class that, you guessed it, analyzes strings. Our class has only one method has_vowels? which as its names suggests, returns true if a string contains vowels and false if it doesn’t. Here’s the implementation for StringAnalyzer −
First, in our new class, it is called StringAnalyzer. It’s a simple class that, you guessed it, analyzes strings. Our class has only one method has_vowels? which as its names suggests, returns true if a string contains vowels and false if it doesn’t. Here’s the implementation for StringAnalyzer −
RSpec - Matchers
If you recall our original Hello World example, it contained a line that looked like this −
expect(message).to eq "Hello World!"The keyword eql is an RSpec “matcher”. Here, we will introduce the other types of matchers in RSpec.
RSpec - Test Doubles
In this chapter, we will discuss RSpec Doubles, also known as RSpec
Mocks. A Double is an object which can “stand in” for another object.
You’re probably wondering what that means exactly and why you’d need
one.
RSpec - Stubs
If you’ve already read the section on RSpec Doubles (aka Mocks), then
you have already seen RSpec Stubs. In RSpec, a stub is often called a
Method Stub, it’s a special type of method that “stands in” for an
existing method, or for a method that doesn’t even exist yet.
Here is the code from the section on RSpec Doubles −
Here is the code from the section on RSpec Doubles −
RSpec - Hooks
When you are writing unit tests, it is often convenient to run setup
and teardown code before and after your tests. Setup code is the code
that configures or “sets up” conditions for a test. Teardown code does
the cleanup, it makes sure that the environment is in a consistent state
for subsequent tests.
RSpec - Tags
RSpec Tags provide an easy way to run specific tests in your spec
files. By default, RSpec will run all tests in the spec files that it
runs, but you might only need to run a subset of them. Let’s say that
you have some tests that run very quickly and that you’ve just made a
change to your application code and you want to just run the quick
tests, this code will demonstrate how to do that with RSpec Tags.
RSpec - Subjects
One of RSpec’s strengths is that it provides many ways to write
tests, clean tests. When your tests are short and uncluttered, it
becomes easier to focus on the expected behavior and not on the details
of how the tests are written. RSpec Subjects are yet another shortcut
allowing you to write simple straightforward tests.
Consider this code −
Consider this code −
RSpec - Helpers
Sometimes your RSpec examples need an easy way to share reusable
code. The best way to accomplish this is with Helpers. Helpers are
basically regular Ruby methods which you share across examples. To
illustrate the benefit of using helpers, let’s consider this code −
RSpec - Metadata
RSpec is a flexible and powerful tool. The Metadata functionality in
RSpec is no exception. Metadata generally refers to “data about data”.
In RSpec, this means data about your describe, context and it blocks.
Let’s take a look at an example −
Let’s take a look at an example −
RSpec - Filtering
You may want to read the section on RSpec Metadata before reading
this section because, as it turns out, RSpec filtering is based on RSpec
Metadata.
Imagine that you have a spec file and it contains two types of tests (Examples): positive functional tests and negative (error) tests. Let’s define them like this −
Imagine that you have a spec file and it contains two types of tests (Examples): positive functional tests and negative (error) tests. Let’s define them like this −
RSpec - Expectations
When you learn RSpec, you may read a lot about expectations and it
can be a bit confusing at first. There are two main details you should
keep in mind when you see the term Expectation −
- An Expectation is simply a statement in an it block that uses the expect() method. That’s it. It’s no more complicated than that. When you have code like this: expect(1 + 1).to eq(2), you have an
RSpec - Quick Guide
RSpec - Introduction
RSpec is a unit test framework for the Ruby programming language. RSpec is different than traditional xUnit frameworks like JUnit because RSpec is a Behavior driven development tool. What this means is that, tests written in RSpec focus on the “behavior” of an application being tested. RSpec does not put emphasis on, how the application works but instead on how it behaves, in other words, what the application actually does.RSpec - Useful Resources
The following resources contain additional information on RSpec. Please use them to get more in-depth knowledge on this.
Discuss RSpec
RSpec is a unit test framework for the Ruby programming language. RSpec
is different than traditional xUnit frameworks like JUnit because RSpec
is a Behavior driven development tool. What this means is that, tests
written in RSpec focus on the "behavior" of an application being tested.
RSpec does not put emphasis on, how the application works but instead
on how it behaves, in other words, what the application actually does.
This tutorial will show you, how to use RSpec to test your code when
building applications with Ruby.
What is New in Python 3
The __future__ module
Python 3.x introduced some Python 2-incompatible keywords and features that can be imported via the in-built __future__ module in Python 2. It is recommended to use __future__ imports, if you are planning Python 3.x support for your code.For example, if we want Python 3.x's integer division behavior in Python 2, add the following import statement.
from __future__ import division
Python 3 - Overview
Python is a high-level, interpreted, interactive and object-oriented
scripting language. Python is designed to be highly readable. It uses
English keywords frequently whereas the other languages use
punctuations. It has fewer syntactical constructions than other
languages.
Python 3 - Environment Setup
Try it Option Online
We have set up the Python Programming environment online, so that you can compile and execute all the available examples online. It will give you the confidence in what you are reading and will enable you to verify the programs with different options. Feel free to modify any example and execute it online.
Python 3 - Basic Syntax
The Python language has many similarities to Perl, C, and Java.
However, there are some definite differences between the languages.
First Python Program
Let us execute the programs in different modes of programming.Python 3 - Variable Types
Variables are nothing but reserved memory locations to store values.
It means that when you create a variable, you reserve some space in the
memory.
Based on the data type of a variable, the interpreter allocates memory and decides what can be stored in the reserved memory. Therefore, by assigning different data types to the variables, you can store integers, decimals or characters in these variables.
Based on the data type of a variable, the interpreter allocates memory and decides what can be stored in the reserved memory. Therefore, by assigning different data types to the variables, you can store integers, decimals or characters in these variables.
Python 3 - Basic Operators
Operators are the constructs, which can manipulate the value of
operands. Consider the expression 4 + 5 = 9. Here, 4 and 5 are called
the operands and + is called the operator.
Types of Operator
Python language supports the following types of operators −- Arithmetic Operators
- Comparison (Relational) Operators
- Assignment Operators
Python 3 - Decision Making
Decision-making is the anticipation of conditions occurring during
the execution of a program and specified actions taken according to the
conditions.
Decision structures evaluate multiple expressions, which produce TRUE or FALSE as the outcome. You need to determine which action to take and which statements to execute if the outcome is TRUE or FALSE otherwise.
Decision structures evaluate multiple expressions, which produce TRUE or FALSE as the outcome. You need to determine which action to take and which statements to execute if the outcome is TRUE or FALSE otherwise.
Python 3 - Loops
In general, statements are executed sequentially − The first
statement in a function is executed first, followed by the second, and
so on. There may be a situation when you need to execute a block of code
several number of times.
Programming languages provide various control structures that allow more complicated execution paths.
A loop statement allows us to execute a statement or group of statements multiple times. The following diagram illustrates a loop statement −
Programming languages provide various control structures that allow more complicated execution paths.
A loop statement allows us to execute a statement or group of statements multiple times. The following diagram illustrates a loop statement −
Python 3 - Numbers
Number data types store numeric values. They are immutable data
types. This means, changing the value of a number data type results in a
newly allocated object.
Number objects are created when you assign a value to them. For example −
Number objects are created when you assign a value to them. For example −
var1 = 1 var2 = 10
Python 3 - Strings
Strings are amongst the most popular types in Python. We can create
them simply by enclosing characters in quotes. Python treats single
quotes the same as double quotes. Creating strings is as simple as
assigning a value to a variable. For example −
var1 = 'Hello World!' var2 = "Python Programming"
Python 3 - Lists
The most basic data structure in Python is the sequence. Each
element of a sequence is assigned a number - its position or index. The
first index is zero, the second index is one, and so forth.
Python has six built-in types of sequences, but the most common ones are lists and tuples, which we would see in this tutorial.
Python has six built-in types of sequences, but the most common ones are lists and tuples, which we would see in this tutorial.
Python 3 - Tuples
A tuple is a sequence of immutable Python objects. Tuples are
sequences, just like lists. The main difference between the tuples and
the lists is that the tuples cannot be changed unlike lists. Tuples use
parentheses, whereas lists use square brackets.
Python 3 - Dictionary
Each key is separated from its value by a colon (:), the items are
separated by commas, and the whole thing is enclosed in curly braces. An
empty dictionary without any items is written with just two curly
braces, like this: {}.
Keys are unique within a dictionary while values may not be. The values of a dictionary can be of any type, but the keys must be of an immutable data type such as strings, numbers, or tuples.
Keys are unique within a dictionary while values may not be. The values of a dictionary can be of any type, but the keys must be of an immutable data type such as strings, numbers, or tuples.
Python 3 - Date & Time
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.
What is Tick?
Time intervals are floating-point numbers in units of seconds. Particular instants in time are expressed in seconds since 12:00am, January 1, 1970(epoch).Python 3 - Functions
A function is a block of organized, reusable code that is used to
perform a single, related action. Functions provide better modularity
for your application and a high degree of code reusing.
As you already know, Python gives you many built-in functions like print(), etc. but you can also create your own functions. These functions are called user-defined functions.
As you already know, Python gives you many built-in functions like print(), etc. but you can also create your own functions. These functions are called user-defined functions.
Python 3 - Modules
A module allows you to logically organize your Python code. Grouping
related code into a module makes the code easier to understand and use. A
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.
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.
Python 3 - Files I/O
This chapter covers all the basic I/O functions available in Python
3. For more functions, please refer to the standard Python
documentation.
Printing to the Screen
The simplest way to produce output is using the print statement where you can pass zero or more expressions separated by commas. This function converts the expressions you pass into a string and writes the result to standard output as follows −#!/usr/bin/python3
Python 3 - Exceptions Handling
Python provides two very important features to handle any unexpected
error in your Python programs and to add debugging capabilities in them −
- Exception Handling − This would be covered in this tutorial. Here is a list standard Exceptions available in Python − Standard Exceptions.
- Assertions − This would be covered in Assertions in Python 3 tutorial.
Python 3 - Object Oriented
Python has been an object-oriented language since the time it
existed. Due to this, creating and using classes and objects are
downright easy. This chapter helps you become an expert in using
Python's object-oriented programming support.
If you do not have any previous experience with object-oriented (OO) programming, you may want to consult an introductory course on it or at least a tutorial of some sort so that you have a grasp of the basic concepts.
If you do not have any previous experience with object-oriented (OO) programming, you may want to consult an introductory course on it or at least a tutorial of some sort so that you have a grasp of the basic concepts.
Python 3 - Regular Expressions
A regular expression is a special sequence of characters that
helps you match or find other strings or sets of strings, using a
specialized syntax held in a pattern. Regular expressions are widely
used in UNIX world.
The module re provides full support for Perl-like regular expressions in Python. The re module raises the exception re.error if an error occurs while compiling or using a regular expression.
The module re provides full support for Perl-like regular expressions in Python. The re module raises the exception re.error if an error occurs while compiling or using a regular expression.
Python 3 - CGI Programming
The Common Gateway Interface, or CGI, is a set of standards that
define how information is exchanged between the web server and a custom
script. The CGI specs are currently maintained by the NCSA and NCSA.
What is CGI?
- The Common Gateway Interface, or CGI, is a standard for external gateway programs to interface with information servers such as HTTP servers.
- The current version is CGI/1.1 and CGI/1.2 is under progress.
Python 3 - MySQL Database Access
The Python standard for database interfaces is the Python DB-API. Most Python database interfaces adhere to this standard.
You can choose the right database for your application. Python Database API supports a wide range of database servers such as −
You can choose the right database for your application. Python Database API supports a wide range of database servers such as −
Python 3 - Network Programming
Python provides two levels of access to the network services. At a
low level, you can access the basic socket support in the underlying
operating system, which allows you to implement clients and servers for
both connection-oriented and connectionless protocols.
Python 3 - Sending Email using SMTP
Simple Mail Transfer Protocol (SMTP) is a protocol, which handles sending an e-mail and routing e-mail between mail servers.
Python provides smtplib module, which defines an SMTP client session object that can be used to send mails to any Internet machine with an SMTP or ESMTP listener daemon.
Here is a simple syntax to create one SMTP object, which can later be used to send an e-mail −
Python provides smtplib module, which defines an SMTP client session object that can be used to send mails to any Internet machine with an SMTP or ESMTP listener daemon.
Here is a simple syntax to create one SMTP object, which can later be used to send an e-mail −
import smtplib
Python 3 - Multithreaded Programming
Running several threads is similar to running several different programs concurrently, but with the following benefits −
- Multiple threads within a process share the same data space with the main thread and can therefore share information or communicate with each other more easily than if they were separate processes.
- Threads are sometimes called light-weight processes and they do
not require much memory overhead; they are cheaper than processes.
Python 3 - XML Processing
XML is a portable, open source language that allows programmers to
develop applications that can be read by other applications, regardless
of operating system and/or developmental language.
Python 3 - GUI Programming (Tkinter)
Python provides various options for developing graphical user interfaces (GUIs). The most important features are listed below.
- Tkinter − Tkinter is the Python interface to the Tk GUI toolkit shipped with Python. We would look this option in this chapter.
Python 3 - Extension Programming with C
Any code that you write using any compiled language like C, C++, or
Java can be integrated or imported into another Python script. This code
is considered as an "extension."
A Python extension module is nothing more than a normal C library. On Unix machines, these libraries usually end in .so (for shared object). On Windows machines, you typically see .dll (for dynamically linked library).
A Python extension module is nothing more than a normal C library. On Unix machines, these libraries usually end in .so (for shared object). On Windows machines, you typically see .dll (for dynamically linked library).
Python 3 - Questions and Answers
Python Questions and Answers has been designed with a special intention of helping students and professionals preparing for various Certification Exams and Job Interviews.
This section provides a useful collection of sample Interview Questions
and Multiple Choice Questions (MCQs) and their answers with
appropriate explanations.
Python 3 - Quick Guide
What is New in Python 3?
The __future__ module
Python 3.x introduced some Python 2-incompatible keywords and features that can be imported via the in-built __future__ module in Python 2. It is recommended to use __future__ imports, if you are planning Python 3.x support for your code.For example, if we want Python 3.x's integer division behavior in Python 2, add the following import statement.
from __future__ import division
Python 3 - Tools/Utilities
The standard library comes with a number of modules that can be used both as modules and as command-line utilities.
The dis Module:
The dis module is the Python disassembler. It converts byte codes to a format that is slightly more appropriate for human consumption.Python 3 - Useful Resources
The following resources contain additional information on Python 3.
Please use them to get more in-depth knowledge on this topic.
Useful Links on Python 3
- Python.org − Official Python site. Find a complete list of all documentation, installation, tutorials, news etc.
- Web Programming in Python − This topic guide attempts to cover every aspect of programming Web applications (both clients and servers) using Python.
Discuss Python 3
Python is a general-purpose interpreted, interactive,
object-oriented, and high-level programming language. It was created by
Guido van Rossum during 1985- 1990. Like Perl, Python source code is
also available under the GNU General Public License (GPL). Python is
named after a TV Show called ‘Monty Python’s Flying Circus’ and not
after Python-the snake.
Python Overview
Python is a high-level, interpreted, interactive and object-oriented
scripting language. Python is designed to be highly readable. It uses
English keywords frequently where as other languages use punctuation,
and it has fewer syntactical constructions than other languages.
Python - Environment Setup
Python is available on a wide variety of platforms including Linux and Mac OS X. Let's
understand how to set up our Python environment.
Local Environment Setup
Open a terminal window and type "python" to find out if it is already installed and which version is installed.- Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, etc.)
Python Basic Syntax
The Python language has many similarities to Perl, C, and Java.
However, there are some definite differences between the languages.
First Python Program
Let us execute programs in different modes of programming.Python Variable Types
Variables are nothing but reserved memory locations to store values.
This means that when you create a variable you reserve some space in
memory.
Based on the data type of a variable, the interpreter allocates memory and decides what can be stored in the reserved memory. Therefore, by assigning different data types to variables, you can store integers, decimals or characters in these variables.
Based on the data type of a variable, the interpreter allocates memory and decides what can be stored in the reserved memory. Therefore, by assigning different data types to variables, you can store integers, decimals or characters in these variables.
Python Basic Operators
Operators are the constructs which can manipulate the value of operands.
Consider the expression 4 + 5 = 9. Here, 4 and 5 are called operands and + is called operator.
Consider the expression 4 + 5 = 9. Here, 4 and 5 are called operands and + is called operator.
Types of Operator
Python language supports the following types of operators.- Arithmetic Operators
- Comparison (Relational) Operators
- Assignment Operators
Python Decision Making
Decision making is anticipation of conditions occurring while
execution of the program and specifying actions taken according to the
conditions.
Decision structures evaluate multiple expressions which produce TRUE or FALSE as outcome. You need to determine which action to take and which statements to execute if outcome is TRUE or FALSE otherwise.
Following is the general form of a typical decision making structure found in most of the programming languages −
Decision structures evaluate multiple expressions which produce TRUE or FALSE as outcome. You need to determine which action to take and which statements to execute if outcome is TRUE or FALSE otherwise.
Following is the general form of a typical decision making structure found in most of the programming languages −
Python Loops
In general, statements are executed sequentially: The first statement
in a function is executed first, followed by the second, and so on.
There may be a situation when you need to execute a block of code
several number of times.
Programming languages provide various control structures that allow for more complicated execution paths.
A loop statement allows us to execute a statement or group of statements multiple times. The following diagram illustrates a loop statement −
Programming languages provide various control structures that allow for more complicated execution paths.
A loop statement allows us to execute a statement or group of statements multiple times. The following diagram illustrates a loop statement −
Python Numbers
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.
Number objects are created when you assign a value to them. For example −
Number objects are created when you assign a value to them. For example −
var1 = 1 var2 = 10You can also delete the reference to a number object by using the del statement. The syntax of the del statement is −
Python Strings
Strings are amongst the most popular types in Python. We can create
them simply by enclosing characters in quotes. Python treats single
quotes the same as double quotes. Creating strings is as simple as
assigning a value to a variable. For example −
var1 = 'Hello World!' var2 = "Python Programming"
Python Lists
The most basic data structure in Python is the sequence. Each
element of a sequence is assigned a number - its position or index. The
first index is zero, the second index is one, and so forth.
Python has six built-in types of sequences, but the most common ones are lists and tuples, which we would see in this tutorial.
Python has six built-in types of sequences, but the most common ones are lists and tuples, which we would see in this tutorial.
Python Tuples
A tuple is a sequence of immutable Python 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.
Creating a tuple is as simple as putting different comma-separated values. Optionally you can put these comma-separated values between parentheses also. For example −
Creating a tuple is as simple as putting different comma-separated values. Optionally you can put these comma-separated values between parentheses also. For example −
Python Dictionary
Each key is separated from its value by a colon (:), the items are
separated by commas, and the whole thing is enclosed in curly braces. An
empty dictionary without any items is written with just two curly
braces, like this: {}.
Keys are unique within a dictionary while values may not be. The values of a dictionary can be of any type, but the keys must be of an immutable data type such as strings, numbers, or tuples.
Keys are unique within a dictionary while values may not be. The values of a dictionary can be of any type, but the keys must be of an immutable data type such as strings, numbers, or tuples.
Python Date & Time
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.
Python Functions
A function is a block of organized, reusable code that is used to
perform a single, related action. Functions provide better modularity
for your application and a high degree of code reusing.
As you already know, Python gives you many built-in functions like print(), etc. but you can also create your own functions. These functions are called user-defined functions.
As you already know, Python gives you many built-in functions like print(), etc. but you can also create your own functions. These functions are called user-defined functions.
Python Modules
A module allows you to logically organize your Python code. Grouping
related code into a module makes the code easier to understand and use. A
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.
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.
Python Files I/O
This chapter covers all the basic I/O functions available in Python.
For more functions, please refer to standard Python documentation.
Printing to the Screen
The simplest way to produce output is using the print statement where you can pass zero or more expressions separated by commas. This function converts the expressions you pass into a string and writes the result to standard output as follows −Python Exceptions Handling
Python provides two very important features to handle any unexpected
error in your Python programs and to add debugging capabilities in them −
- Exception Handling: This would be covered in this tutorial. Here is a list standard Exceptions available in Python: Standard Exceptions.
- Assertions: This would be covered in Assertions in Python tutorial.
Python Object Oriented
Python has been an object-oriented language since it existed. Because
of this, creating and using classes and objects are downright easy.
This chapter helps you become an expert in using Python's
object-oriented programming support.
Python Regular Expressions
A regular expression is a special sequence of characters that
helps you match or find other strings or sets of strings, using a
specialized syntax held in a pattern. Regular expressions are widely
used in UNIX world.
The module re provides full support for Perl-like regular expressions in Python. The re module raises the exception re.error if an error occurs while compiling or using a regular expression.
The module re provides full support for Perl-like regular expressions in Python. The re module raises the exception re.error if an error occurs while compiling or using a regular expression.
Python CGI Programming
The Common Gateway Interface, or CGI, is a set of standards that
define how information is exchanged between the web server and a custom
script. The CGI specs are currently maintained by the NCSA.
What is CGI?
- The Common Gateway Interface, or CGI, is a standard for external gateway programs to interface with information servers such as HTTP servers.
- The current version is CGI/1.1 and CGI/1.2 is under progress.
Python MySQL Database Access
The Python standard for database interfaces is the Python DB-API. Most Python database interfaces adhere to this standard.
You can choose the right database for your application. Python Database API supports a wide range of database servers such as −
You can choose the right database for your application. Python Database API supports a wide range of database servers such as −
Python Network Programming
Python provides two levels of access to network services. At a low
level, you can access the basic socket support in the underlying
operating system, which allows you to implement clients and servers for
both connection-oriented and connectionless protocols.
Python also has libraries that provide higher-level access to specific application-level network protocols, such as FTP, HTTP, and so on.
Python also has libraries that provide higher-level access to specific application-level network protocols, such as FTP, HTTP, and so on.
Python Sending Email using SMTP
Simple Mail Transfer Protocol (SMTP) is a protocol, which handles sending e-mail and routing e-mail between mail servers.
Python provides smtplib module, which defines an SMTP client session object that can be used to send mail to any Internet machine with an SMTP or ESMTP listener daemon.
Here is a simple syntax to create one SMTP object, which can later be used to send an e-mail −
Python provides smtplib module, which defines an SMTP client session object that can be used to send mail to any Internet machine with an SMTP or ESMTP listener daemon.
Here is a simple syntax to create one SMTP object, which can later be used to send an e-mail −
import smtplib
Python Multithreaded Programming
Running several threads is similar to running several different programs concurrently, but with the following benefits −
- Multiple threads within a process share the same data space with the main thread and can therefore share information or communicate with each other more easily than if they were separate processes.
- Threads sometimes called light-weight processes and they do not require much memory overhead; they are cheaper than processes.
Python XML Processing
XML is a portable, open source language that allows programmers to
develop applications that can be read by other applications, regardless
of operating system and/or developmental language.
XML is extremely useful for keeping track of small to medium amounts of data without requiring a SQL-based backbone.
What is XML?
The Extensible Markup Language (XML) is a markup language much like HTML or SGML. This is recommended by the World Wide Web Consortium and available as an open standard.XML is extremely useful for keeping track of small to medium amounts of data without requiring a SQL-based backbone.
Python GUI Programming (Tkinter)
Python provides various options for developing graphical user interfaces (GUIs). Most important are listed below.
- Tkinter: Tkinter is the Python interface to the Tk GUI toolkit shipped with Python. We would look this option in this chapter.
- wxPython: This is an open-source Python interface for wxWindows http://wxpython.org.
- JPython: JPython is a Python port for Java which gives Python scripts seamless access to Java class libraries on the local machine http://www.jython.org.
Python Extension Programming with C
Any code that you write using any compiled language like C, C++, or
Java can be integrated or imported into another Python script. This code
is considered as an "extension."
A Python extension module is nothing more than a normal C library. On Unix machines, these libraries usually end in .so (for shared object). On Windows machines, you typically see .dll (for dynamically linked library).
A Python extension module is nothing more than a normal C library. On Unix machines, these libraries usually end in .so (for shared object). On Windows machines, you typically see .dll (for dynamically linked library).
Python Questions and Answers
Python Questions and Answers has been designed with a special intention of helping students and professionals preparing for various Certification Exams and Job Interviews.
This section provides a useful collection of sample Interview Questions
and Multiple Choice Questions (MCQs) and their answers with
appropriate explanations.
Python Quick Guide
Python Overview:
Python is a high-level, interpreted, interactive and object oriented-scripting language.- Python is Interpreted
- Python is Interactive
- Python is Object-Oriented
- Python is Beginner's Language
Python Tools/Utilities
The standard library comes with a number of modules that can be used both as modules and as command-line utilities.
The dis Module:
The dis module is the Python disassembler. It converts byte codes to a format that is slightly more appropriate for human consumption.Python Useful Resources
The following resources contain additional information on Python Please use them to get more in-depth knowledge on this topic.
Useful Links on Python
- Python.org − Official Python site. Find a complete list of all documentation, installation, tutorials, news etc.
Discuss Python
Python is a general-purpose interpreted, interactive,
object-oriented, and high-level programming language. It was created by
Guido van Rossum during 1985- 1990. Like Perl, Python source code is
also available under the GNU General Public License (GPL). This tutorial
gives enough understanding on Python programming language.
PyQt - Introduction
PyQt is a GUI widgets toolkit. It is a Python interface for Qt,
one of the most powerful, and popular cross-platform GUI library. PyQt
was developed by RiverBank Computing Ltd. The latest version of PyQt can
be downloaded from its official website − riverbankcomputing.com
PyQt - Hello World
Creating a simple GUI application using PyQt involves the following steps −
- Import QtGui module.
- Create an application object.
- A QWidget object creates top level window. Add QLabel object in it.
- Set the caption of label as “hello world”.
- Define the size and position of window by setGeometry() method.
- Enter the mainloop of application by app.exec_() method.
PyQt - Major Classes
PyQt API is a large collection of classes and methods. These
classes are defined in more than 20 modules. Following are some of the
frequently used modules −
S.No. | Modules & Description |
---|---|
1 |
QtCore Core non-GUI classes used by other modules |
2 |
QtGui Graphical user interface components |
PyQt - Using Qt Designer
The PyQt installer comes with a GUI builder tool called Qt Designer.
Using its simple drag and drop interface, a GUI interface can be
quickly built without having to write the code. It is however, not an
IDE such as Visual Studio. Hence, Qt Designer does not have the facility
to debug and build the application.
Creation of a GUI interface using Qt Designer starts with choosing a top level window for the application.
Creation of a GUI interface using Qt Designer starts with choosing a top level window for the application.
PyQt - Signals & Slots
Unlike a console mode application, which is executed in a sequential
manner, a GUI based application is event driven. Functions or methods
are executed in response to user’s actions like clicking on a button,
selecting an item from a collection or a mouse click etc., called events.
PyQt - Layout Management
A GUI widget can be placed inside the container window by specifying
its absolute coordinates measured in pixels. The coordinates are
relative to the dimensions of the window defined by setGeometry()
method.
setGeometry() syntax
QWidget.setGeometry(xpos, ypos, width, height)In the following code snippet, the top level window of 300 by 200 pixels dimensions is displayed at position (10, 10) on the monitor.
PyQt - QDialog Class
A QDialog widget presents a top level window mostly used to collect response from the user. It can be configured to be Modal (where it blocks its parent window) or Modeless (the dialog window can be bypassed).
PyQt API has a number of preconfigured Dialog widgets such as InputDialog, FileDialog, FontDialog, etc.
PyQt API has a number of preconfigured Dialog widgets such as InputDialog, FileDialog, FontDialog, etc.
PyQt - QMessageBox
QMessageBox is a commonly used modal dialog to display some
informational message and optionally ask the user to respond by clicking
any one of the standard buttons on it. Each standard button has a
predefined caption, a role and returns a predefined hexadecimal number.
Important methods and enumerations associated with QMessageBox class are given in the following table −
Important methods and enumerations associated with QMessageBox class are given in the following table −
PyQt - Multiple Document Interface
A typical GUI application may have multiple windows. Tabbed and stacked widgets allow to activate one such window at a time. However, many a times this approach may not be useful as view of other windows is hidden.
One way to display multiple windows simultaneously is to create them as independent windows. This is called as SDI (single Document Interface). This requires more memory resources as each window may have its own menu system, toolbar, etc.
One way to display multiple windows simultaneously is to create them as independent windows. This is called as SDI (single Document Interface). This requires more memory resources as each window may have its own menu system, toolbar, etc.
PyQt - Drag & Drop
The provision of drag and drop is very intuitive for the user. It is found in many desktop applications where the user can copy or move objects from one window to another.
MIME based drag and drop data transfer is based on QDrag class. QMimeData objects associate the data with their corresponding MIME type. It is stored on clipboard and then used in the drag and drop process.
MIME based drag and drop data transfer is based on QDrag class. QMimeData objects associate the data with their corresponding MIME type. It is stored on clipboard and then used in the drag and drop process.
PyQt - Database Handling
PyQt API contains an elaborate class system to communicate with many SQL based databases. Its QSqlDatabase provides access through a Connection object. Following is the list of currently available SQL drivers −
Driver Type | Description |
---|---|
QDB2 | IBM DB2 |
QIBASE | Borland InterBase Driver |
PyQt - Drawing API
All the QWidget classes in PyQt are sub classed from QPaintDevice class. A QPaintDevice is an abstraction of two dimensional space that can be drawn upon using a QPainter. Dimensions of paint device are measured in pixels starting from the top-left corner.
PyQt - BrushStyle Constants
Predefined QColor Styles
Qt.NoBrush | No brush pattern |
Qt.SolidPattern | Uniform color |
Qt.Dense1Pattern | Extremely dense brush pattern |
Qt.HorPattern | Horizontal lines |
PyQt - QClipboard
The QClipboard class provides access to system-wide clipboard
that offers a simple mechanism to copy and paste data between
applications. Its action is similar to QDrag class and uses similar data
types.
QApplication class has a static method clipboard() which returns reference to clipboard object. Any type of MimeData can be copied to or pasted from the clipboard.
QApplication class has a static method clipboard() which returns reference to clipboard object. Any type of MimeData can be copied to or pasted from the clipboard.
PyQt - QPixmap Class
QPixmap class provides an off-screen representation of an
image. It can be used as a QPaintDevice object or can be loaded into
another widget, typically a label or button.
Qt API has another similar class QImage, which is optimized for I/O and other pixel manipulations. Pixmap, on the other hand, is optimized for showing it on screen. Both formats are interconvertible.
The types of image files that can be read into a QPixmap object are as follows −
Qt API has another similar class QImage, which is optimized for I/O and other pixel manipulations. Pixmap, on the other hand, is optimized for showing it on screen. Both formats are interconvertible.
The types of image files that can be read into a QPixmap object are as follows −
PyQt - Quick Guide
PyQt - Introduction
PyQt is a GUI widgets toolkit. It is a Python interface for Qt, one of the most powerful, and popular cross-platform GUI library. PyQt was developed by RiverBank Computing Ltd. The latest version of PyQt can be downloaded from its official website − riverbankcomputing.comPyQt - Useful Resources
The following resources contain additional information on PyQt. Please use them to get more in-depth knowledge on this.
Useful Links on PyQt
- PyQt Wiki - Wikipedia Reference for PyQt.
Discuss PyQt
PyQt is a GUI widgets toolkit. It is a Python interface for Qt,
one of the most powerful, and popular cross-platform GUI library. PyQt
is a blend of Python programming language and the Qt library. This
introductory tutorial will assist you in creating graphical applications
with the help of PyQt.
Subscribe to:
Posts (Atom)