python and perl

60
PYTHON AND PERL Mara Angelica M. Refraccion BSCS41A

Upload: mara-angelica-refraccion

Post on 19-May-2015

495 views

Category:

Education


5 download

TRANSCRIPT

Page 1: python and perl

PYTHONAND

PERL

Mara Angelica M. RefraccionBSCS41A

Page 2: python and perl

PYTHON

Page 3: python and perl
Page 4: python and perl

• An interpreted, general-purpose high level programming language whose design philosophy emphasizes code readability.

• Very clear, readable syntax

• Intuitive object orientation

• Natural expression of procedural code

• Full modularity, supporting hierarchical packages

Page 5: python and perl

• Exception-based error handling

• Very high level dynamic data types

• Extensive standard libraries and third party modules for virtually every task.

• Extensions and modules easily written in C, C++ (or Java for Jython, or .NET languages for IronPython)

• Embeddable within applications as a scripting interface

Page 6: python and perl

History

• Python was conceived in the late 1980s and its implementation was started in December 1989

• Guido van Rossum (Python's principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community, Benevolent Dictator for life(BDFL))

• CWI in the Netherlands  

Page 7: python and perl

• Python 2.0 was released on 16 October 2000, with many major new features including a full garbage collector

•  Python 3.0 (also known as Python 3000 or py3k was released on 3 December 2008 after a long period of testing.

• Python has twice been awarded as TIOBE Programming Language of the Year (2007, 2010), which is given to the language with the greatest growth in popularity over the course of the year (as measured by the TIOBE index)

Page 8: python and perl
Page 9: python and perl
Page 10: python and perl
Page 11: python and perl
Page 12: python and perl
Page 13: python and perl
Page 14: python and perl
Page 15: python and perl

Basic Syntax# # comment \ # line continuation ; # statement separator (like C)

None # NULL not # logical/boolean not returns True/False

== != < > <= >= # equality, relational is # object identity is not ** # power (x^y) // # floor division (truncates to integer)

Page 16: python and perl

float(123) float('123.0') # convert integer/string to float

int(1.5) # convert to integer (truncate)

bool(x) # convert to boolean

hex(15) # convert to string in hex format

int('101',2) # convert to int from binary number in string

Page 17: python and perl
Page 18: python and perl
Page 19: python and perl
Page 20: python and perl
Page 21: python and perl
Page 22: python and perl
Page 23: python and perl
Page 24: python and perl
Page 25: python and perl
Page 26: python and perl
Page 27: python and perl
Page 28: python and perl
Page 29: python and perl
Page 30: python and perl

Basis Reserved words

• Expression statements are used (mostly interactively) to compute and write a value, or (usually) to call a procedure (a function that returns no meaningful result; in Python, procedures return the value None).

• Assert statements are a convenient way to insert debugging assertions into a program.

• Pass is a null operation — when it is executed, nothing happens. It is useful as a placeholder when a statement is required syntactically, but no code needs to be executed.

Page 31: python and perl

• Deletion of a target list recursively deletes each target, from left to right.

• Print evaluates each expression in turn and writes the resulting object to standard output .

• Break may only occur syntactically nested in a for or while loop, but not nested in a function or class definition within that loop.

Page 32: python and perl

• Continue may only occur syntactically nested in a for or while loop, but not nested in a function or class definition or finally clause within that loop. It continues with the next cycle of the nearest enclosing loop.

• Import statements are executed in two steps: (1) find a module, and initialize it if necessary; (2) define a name or names in the local namespace (of the scope where the import statement occurs).

• The global statement is a declaration which holds for the entire current code block. 

Page 33: python and perl

Python Application

• Web development*Extensive support for HTML and XML.*E-mail processing.*Processing RSS feeds.*Support for many other Internet protocols.

• Database Access*MySQL, Oracle, MS SQL Server, PostgreSQL,

SybODBC, and others are available for free download.

• Scientific and Numeric*Bioinformatics*Python course in Bioinformatics*Physics

Page 34: python and perl

• Education

• Network Programming*Easy-to-use socket interface*Twisted Python, a framework for asynchronous network programming.

• Software Development

• Game and 3D Graphics

Page 35: python and perl

PERL

Page 36: python and perl

• Perl is a interpreted and dynamic programming language

• Perl is stable and cross-platform programming language.

• It has inherited the best features from C, Basic and other programming languages.

• Perl supports Unicode character encoding for foreign letters.

Page 37: python and perl

• Other interesting feature is, it supports both procedural and object oriented programming.

• Perl is extensible and can be integrated with C and C++.

• Perl is best known for powerful text processing engine.

• Perlwas known to be the most popular web programming language until PHP supercedes it.

Page 38: python and perl

History

• Perl was initially developed by Larry Wall in 1987.

• Perl is a open source software licensed under GNU public

license

• It was made as a unix scripting language for reporting

process.

Page 39: python and perl

• Perl is also called as the swiss army chainsaw of

programming languages due to its flexible and adaptable

nature.

• Perl  2 released in 1988 with better and improved regular

exprssion engine

• In 1989, perl 3 was released with added feature of handling

binary data streams.

Page 40: python and perl

• In 1991, perl reference documentations has been published, it is

also called as ‘Camel Book’ and version was renamed to Perl 4.

• Perl interpreter was completely rewritten and released in 1994 as

Perl verison 5.

• Perl 5.x version is the most widely used as of now

Page 41: python and perl

Comparison with Other Programming Languages

C/C++• Perl is written in the C programming language.

• C/C++ programs are platform dependent.

Page 42: python and perl

• C/C++ is a very structured language, its syntax is not as exible as scripting languages such as Perl.

• C/C++ version requires more lines of code compared with Perl.

• improperly written C/C++ programs are vulnerable to memory leak problems

Page 43: python and perl

PHP

• Allows embedding of inline PHP code inside HTML documents that makes it very convenient to embed small snippets of PHP code.

• PHP supports the object-oriented paradigm, most of its functionalities are provided through functions.

Page 44: python and perl

Java/JSP

• Java syntax is very structured and thus are not as fexible as scripting languages like Perl.

• Java itself is not just an interpreter, it is a virtual machine over which programmers are totally abstracted from the underlying operating system platforms

Page 45: python and perl

How A Perl Program Is Executed

Preprocessing An optional preprocessing stage transforms the source

file to the final form.

Tokenizing

The source le is broken down into tokens. This process is called tokenization (or Lexical analysis). Whitespaces are removed. Token is the basic unit that makes up a statement. By tokenizing the input parsing is becoming easier because all further processing are carried out on tokens,independent of whitespace.

Page 46: python and perl

Parsing & Optimization (Compilation)

Parsing involves checks to ensure the program being executed conforms to the language specication and builds a parse tree internally which describes the program in terms of microoperations internal to Perl (opcode).

Page 47: python and perl

Literals

• Numbers (integers and decimals)

* In Perl, integers can be expressed in decimal (base 10), hexadecimal (base 16) or octal (base 8) notation.

* Integers cannot be delimited by commas or spaces like 10,203,469 or 20 300.

* Exponents (base 10) can also be specied by appending the letter .”e”and the exponent to the real number portion. e.g. 2e3 is equivalent to 2 x 103 = 2000.

Page 48: python and perl

• Strings

* A string is a sequence of characters enclosed (delimited) by either double quotes (.) or single quotes(').

* Escape characters are usually put insidedouble-quoted strings.

Page 49: python and perl
Page 50: python and perl
Page 51: python and perl

• scalar variable

* Is a named entity representing a piece of scalar data of which thecontent can be modied throughout its lifetime.

* all variables are global.

• Array

* a named entity representing a list of scalar data, with each item assigned an index.

* An array can be empty, that is, containing no elements (called a null array).

Page 52: python and perl

• Hash

* Is a special data structure. It is similar to an array except that the index is not an integer, a string is used for indexing, and is known as a key. The key is conceptually like a tag which is attached to the corresponding value. The key and the value forms a pair (key-value pair).

Page 53: python and perl

Arithmetic operators manipulate on numeric scalar data. Perl can evaluate an arithmetic expression, in a way similar to our daily-life mathematics.

Operator Description+ Addition operator- Subtraction operator* Multiplication operator/ Division operator% Modulus operator+ Positive sign- Negative sign++ Autoincrement operator-- Autodecrement operator** Exponentiation operator

Page 54: python and perl

Comparison operators are used to compare two pieces of scalar data, e.g. alphabetically or numerically and returns a Boolean value.

In Perl, there are two sets of comparison operators. The rst set compares the operands numerically:Operator Description< less than> greater than<= less than or equal to>= greater than or equal to<=> general comparison

Page 55: python and perl

The second set compares the operands stringwise:Operator Descriptionlt less thangt greater thanle less than or equal toge greater than or equal tocmp general comparison

Page 56: python and perl

Equality operators compares two pieces of scalar data and returns if their values are identical. They may be considered special cases of comparison operators.

Operator Description== equal (numeric comparison)!= not equal (numeric comparison)eq equal (stringwise comparison)ne not equal (stringwise comparison)

Page 57: python and perl

Bitwise operators provide programmers with the capability of performing bitwise calculations.

Operator Description<< Binary shift left>> Binary shift right& Bitwise AND| Bitwise ORˆ Bitwise XOR~ Bitwise NOT

Page 58: python and perl

Logical operators can be used to do some Boolean logic calculations.

Operator Description|| or Logical OR&& and Logical AND! not Logical NOT, i.e. negationxor Logical XOR.Exclusive OR

Page 59: python and perl

test1 test2 and && or || xor

true true true true falsetrue false false true truefalse true false true truefalse false false false false

Test not !true falsefalse true

Table 4.1: Truth table of various Perl logical operators

Page 60: python and perl

String manipulation operators manipulate on strings.

Operator Descriptionx String repetition operator. String concatenation operator