Introduction to. What is Python? Dynamic, interpreted high-level language. Created in 1991 by Guido van Rossum. Design philosophy: Short development time.

Slides:



Advertisements
Similar presentations
Basic Java Constructs and Data Types – Nuts and Bolts
Advertisements

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 14 Introduction to Ruby.
Optional Static Typing Guido van Rossum (with Paul Prescod, Greg Stein, and the types-SIG)
JavaScript I. JavaScript is an object oriented programming language used to add interactivity to web pages. Different from Java, even though bears some.
For loops Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas.
ITUppsala universitet Introduction to Python Introduction to VTK Filip Malmberg
1 Variables and Data Types. 2 Variable Definition a location in memory, referenced by a name (identifier), where data of a given type can be stored, changed,
Container Types in Python
Types of selection structures
1 Chapter 3:Operators and Expressions| SCP1103 Programming Technique C | Jumail, FSKSM, UTM, 2006 | Last Updated: July 2006 Slide 1 Operators and Expressions.
Introduction to Python Week 15. Try It Out! Download Python from Any version will do for this class – By and large they are all mutually.
CS 100: Roadmap to Computing Fall 2014 Lecture 0.
A Crash Course Python. Python? Isn’t that a snake? Yes, but it is also a...
JavaScript, Third Edition
Python Control of Flow.
Python.
Introduction to Python Lecture 1. CS 484 – Artificial Intelligence2 Big Picture Language Features Python is interpreted Not compiled Object-oriented language.
CS 100: Roadmap to Computing Fall 2014 Lecture 01.
CIS Computer Programming Logic
Introduction to Python
General Computer Science for Engineers CISC 106 Lecture 02 Dr. John Cavazos Computer and Information Sciences 09/03/2010.
Introduction to Python Basics of the Language. Install Python Find the most recent distribution for your computer at:
Munster Programming Training
Builtins, namespaces, functions. There are objects that are predefined in Python Python built-ins When you use something without defining it, it means.
H3D API Training  Part 3.1: Python – Quick overview.
Hello.java Program Output 1 public class Hello { 2 public static void main( String [] args ) 3 { 4 System.out.println( “Hello!" ); 5 } // end method main.
Property of Jack Wilson, Cerritos College1 CIS Computer Programming Logic Programming Concepts Overview prepared by Jack Wilson Cerritos College.
Introducing Python CS 4320, SPRING Resources We will be following the Python tutorialPython tutorial These notes will cover the following sections.
C463 / B551 Artificial Intelligence Dana Vrajitoru Python.
Exam 1 Review Instructor – Gokcen Cilingir Cpt S 111, Sections 6-7 (Sept 19, 2011) Washington State University.
An Introduction. What is Python? Interpreted language Created by Guido Van Rossum – early 90s Named after Monty Python
Python – Part 3 Functions 1. Getting help Start the Python interpreter and type help() to start the online help utility. Or you can type help(print) to.
Python Basics. 2 Python History Late 1970s: programming language called ABC at the Centrum voor Wiskunde en Informatica in the Netherlands Audience included.
Python Primer 1: Types and Operators © 2013 Goodrich, Tamassia, Goldwasser1Python Primer.
CS105 Computer Programming PYTHON (based on CS 11 Python track: lecture 1, CALTECH)
Introduction to Python Dr. José M. Reyes Álamo. 2 Three Rules of Programming Rule 1: Think before you program Rule 2: A program is a human-readable set.
CSC 1010 Programming for All Lecture 3 Useful Python Elements for Designing Programs Some material based on material from Marty Stepp, Instructor, University.
By Austin Laudenslager AN INTRODUCTION TO PYTHON.
CHAPTER 2 PROBLEM SOLVING USING C++ 1 C++ Programming PEG200/Saidatul Rahah.
PHP Tutorial. What is PHP PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages.
PROGRAMMING USING PYTHON LANGUAGE ASSIGNMENT 1. INSTALLATION OF RASPBERRY NOOB First prepare the SD card provided in the kit by loading an Operating System.
1 Agenda  Unit 7: Introduction to Programming Using JavaScript T. Jumana Abu Shmais – AOU - Riyadh.
PYTHON PROGRAMMING. WHAT IS PYTHON?  Python is a high-level language.  Interpreted  Object oriented (use of classes and objects)  Standard library.
FILES AND EXCEPTIONS Topics Introduction to File Input and Output Using Loops to Process Files Processing Records Exceptions.
Indentations makes the scope/block Function definition def print_message (): print “hello” Function usages print_message () hubo.move ()// hubo is a class.
Fundamentals of Programming I Overview of Programming
The need for Programming Languages
Introduction to Python
Introduction Python is an interpreted, object-oriented and high-level programming language, which is different from a compiled one like C/C++/Java. Its.
CS 100: Roadmap to Computing
Variables, Expressions, and IO
Python is a general-purpose interpreted, interactive, object-oriented, and high-level programming language. It was created by Guido van Rossum during.
Statements, Comments & Simple Arithmetic
Arithmetic operations, decisions and looping
Introduction to Python
Topics Introduction to File Input and Output
Introduction to Python
PHP.
T. Jumana Abu Shmais – AOU - Riyadh
CS 100: Roadmap to Computing
Python Tutorial for C Programmer Boontee Kruatrachue Kritawan Siriboon
Python Primer 1: Types and Operators
Introduction to Programming with Python
COMPUTER PROGRAMMING SKILLS
CS 100: Roadmap to Computing
Topics Introduction to File Input and Output
CS 100: Roadmap to Computing
Python Basics. Topics Features How does Python work Basic Features I/O in Python Operators Control Statements Function/Scope of variables OOP Concepts.
PYTHON - VARIABLES AND OPERATORS
Presentation transcript:

Introduction to

What is Python? Dynamic, interpreted high-level language. Created in 1991 by Guido van Rossum. Design philosophy: Short development time is prioritized over excecution speed. Syntax similar to C++ or Java.

Facts about Python Portable, available for all common platforms. Python is Open Source and free to use, even for commercial applications. (Relatively) Easy to integrate with other languages, such as Java, C/C++, Fortran and.NET. Designed for multiple paradigms. Both object oriented and procedural programming are possible.

What is Python good for? Internet applications, good support for HTTP, FTP, SMTP and CGI. Integrating components written in a low-level language, “glue code”. Portable system tools, same commands on each platform. Compare with dir (Windows) and ls (Linux). Portable GUI:s. Database handling. Projects where time of development is more important than speed of execution.

What is Python not good for? Tasks where performance is critical. Such tasks can be implemented in C/C++ modules using tools such as SWIG (

Python and VTK VTK is written in C++, but has bindings to Python, Java, Tcl... For this workshop, we will use VTK with Python.

The Python prompt Can be used to execute individual Python commands interactively. The prompt has a “memory” which is kept until the prompt is closed. Start the prompt by typing python in a terminal.

The Python language Variables and types Control structures Functions Classes File handling

Variables All variables in Python are references VariableData

Variable names May contain english letters, numbers and underscores. Must not start with a number. Invalid names påskmust 1_varname varname 1 var&name Valid names varname vArNaMe1 var_name_1 _var_name

Variable assignment A reference is created with= a = 10 b = 20 c = a + b a10 b20 c30 Creates the following situation:

More on references Multiple references: Many variables can refer to the same object. Reference counting: An object is deleted automatically when no variables refer to it. list_a[1, 2, 3] list_b list_c >>> list = [1, 2, 3] >>> list_a = [1, 2, 3] >>> list_b = list_a >>> list_c = list_b >>> list_c[2] = 78 >>> list_a [1, 2, 78]

Datatypes Numbers Strings Boolean types Lists Tuples Others...

Numbers Different kinds of numbers are represented by different classes: Integers (int)‏ Big integers (long)‏ Real numbers (float)‏ Complex numbers (complex)‏ >>> a = 10 >>> a.__class__ >>> big_num = L >>> big_num.__class__ >>> pi_constant = >>> pi_constant.__class__ >>> z = complex(3.4, 8.35)‏ >>> z ( j)‏ >>> z.__class__

Operations on numbers The operations +, -, * and / work as usual. % - Remainder // - Integer division ** - Power abs(x)‏ int(x)‏ long(x)‏ float(x)‏ complex(a, b)‏ >>> a = 3.14 >>> b = 5 >>> c = b / a >>> c.__class__ >>> 5 // 2 2 >>> 5 // float(2)‏ 2.0 >>> 5 / float(2)‏ 2.5 >>> b / complex(6, 4)‏ ( j)‏ >>> 2 / 3 0

Strings A string is a sequence of characters. A string is created using single or double quotes. >>> s1 = "exempeltext" >>> s2 = 'exempeltext igen' >>> s3 = "felaktigt' File " ", line 1 s3 = "felaktigt' ^ SyntaxError: EOL while scanning single-quoted string >>> s4 = s1 + s2 >>> s4 'exempeltextexempeltext igen' >>> s5 = str(3)‏ >>> s5 '3' >>> s5.__class__

Boolean types The following expressions are false: None False The number 0 Every empty sequence Every empty mapping {} All other objects are (somewhat simplified)‏ defined to be true. >>> a = True >>> a.__class__ >>> a = 5 > 7 >>> a False

Lists Lists are containers with an arbitrary number of elements. The elements can be any Python object. A single list can contain objects of many different types. >>> list = [1, 2, 3] >>> list [1, 2, 3] >>> list_2 = [1, "mixed", "li"+"st"] >>> list_2 [1, 'mixed', 'list']

More on lists Individual element are accessed with an index within square brackets [index]. The first element has index 0. >>> list_2 [1, 'blandad', 'lista'] >>> list_2[1] 'blandad' >>> list_2[1] = "Nytt element" >>> list_2 [1, 'Nytt element', 'lista']

Tuples Tuples are static lists. Tuples have better performance than lists, but are less flexible. >>> tuple_1 = (1, 2, 3)‏ >>> tuple_2 = (1, "mixed")‏ >>> tuple_2[1] 'mixed' >>> tuple_2[1] = "New element" Traceback (most recent call last): File " ", line 1, in TypeError: 'tuple' object does not support item assignment

Printing The Python command for writing text to the prompt is print. >>> print "Hello" Hello >>> print "Hello", "world" Hello world >>> print

If-statements Note the indentation! In Python, indentation is used to control which block a statement belongs to. A colon indicates that a new block of code begins. >>> a = 10 >>> if a > 5:... print "The number is greater than 5"... The number is greater than 5

else >>> a = 10 >>> if a < 5:... print "a is less than 5"... else:... print "a is greater than or equal to 5"... a is greater than or equal to 5

Multiple choices Multiple choices are handled with elif. Many languages have a case-statement for handling multiple choices. This was deemed redundant by the Python developers. >>> a = 10 >>> if a == 1:... print "a is one"... elif a == 2:... print "a is two"... elif a == 3:... print "a is three"... else:... print "a is something else"... a is something else

for-loops Again, use indentation to define a block of code. >>> for i in range(10):... print i

Nested loops >>> for i in range(2):... for j in range(3):... for k in range(4):... print "i=%i, j=%i, k=%i" % (i, j, k)‏... i=0, j=0, k=0 i=0, j=0, k=1 i=0, j=0, k=2 i=0, j=0, k=3 i=0, j=1, k=0 i=0, j=1, k=1... i=1, j=1, k=2 i=1, j=1, k=3 i=1, j=2, k=0 i=1, j=2, k=1 i=1, j=2, k=2 i=1, j=2, k=3

Beyond the Python prompt The python prompt is not suited for larger programs. Python programs are stored in regular text files. Commonly the filenames end with.py, but this is not required.

Executing Python programs Python files are executed using the python command. The search path to this program must be set. On windows, this is set by the system variable PYTHONPATH.

Python is dynamically typed # -*- coding: utf-8 -*- # a refers to a number a = 10 print a, a.__class__ # a refers to a string a = "lkshjdglgv" print a, a.__class__ # a refers to a list a = [5, 2, 8, 5] print a, a.__class__ a.sort()‏ # a refers to a number again a = 10 a.sort()‏ $> python dynamic_binding.py 10 lkshjdglgv [5, 2, 8, 5] Traceback (most recent call last): File "dynamic_binding.py", line 18, in a.sort()‏ AttributeError: 'int' object has no attribute 'sort' Duck Typing: "when I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck."

Python is strongly typed No implicit type conversions >>> a = 3 >>> b = '4' >>> a + b Traceback (most recent call last): File " ", line 1, in TypeError: unsupported operand type(s)‏ for +: 'int' and 'str' >>> str(a) + b '34' >>> a + int(b)‏ 7

Functions in Python A function is create using the reserved word def followed by the function name and a colon. The rules for function names are the same as for variable names. # function_01.py def function_a(): print "Detta skrivs inuti funktionen." print "Detta skrivs först." function_a() # Funktionen anropas print "Detta skrivs efter metodanropet." $> python function_01.py Detta skrivs först. Detta skrivs inuti funktionen. Detta skrivs efter metodanropet.

Function arguments We communicate with functions by specifying arguments in the function call. # function_02.py def greeting(name, age): print """Hej %s. Du är %i år gammal.""" % (name, age)‏ greeting("Maja", 23)‏ greeting("Pelle", 31)‏ $> python function_02.py Hej Maja. Du är 23 år gammal. Hej Pelle. Du är 31 år gammal.

Default arguments Default arguments can be used to avoid having to specify all arguments. # function_03.py def greeting(name, age=20): print """Hej %s. Du är %i år gammal.""" % (name, age)‏ greeting("Maja", 23)‏ greeting("Pelle")‏ $> python function_03.py Hej Maja. Du är 23 år gammal. Hej Pelle. Du är 20 år gammal.

Order of arguments Problems with many arguments: Arguments must be given in the order given in the function defintion. # function_04.py def greeting(name="Unknown", age=20): print """Hello %s. You are %i years old.""" % (name, age)‏ greeting()‏ greeting("Pelle")‏ greeting(45) # Gives the wrong result $> python function_04.py Hello Unknown. You are 20 years old. Hello Pelle. You are 20 years old. Hello 45. You are 20 years old.

Arguments by name The solution is to give arguments by name. # function_05.py def greeting(name="Okänd", age=20): print """Hej %s. Du är %i år gammal.""" % (name, age)‏ greeting()‏ greeting("Pelle") # Still works greeting(name="Pelle") # Eqvivalent greeting(age=45) # Gives the right result greeting("Maja", 33)‏ greeting(name = "Maja", age = 33) # Eqvivalent $> python function_05.py Hej Okänd. Du är 20 år gammal. Hej Pelle. Du är 20 år gammal. Hej Okänd. Du är 45 år gammal. Hej Maja. Du är 33 år gammal.

Return values The return statement is used to return a value from a function. # return_values_01.py def my_own_join(texts, separator=" "): s = "" for text in texts: s += text + separator s = s[:-len(separator)] + "." return s my_text_pieces = ["Detta", "är", "inte", "så", "meningsfullt"] print my_own_join(my_text_pieces, "_")‏ $> python return_values_01.py Detta_är_inte_så_meningsfullt.

Multiple return values Python allows any number of return values. # return_values_03.py def min_max(seq): return min(seq), max(seq)‏ a = [3, 573, 234, 24] minimum, maximum = min_max(a)‏ print minimum, maximum result = min_max(a)‏ print result print result.__class__ $> python return_values_03.py (3, 573)‏

Modules When writing larger programs, it is not practical to keep all code in the same file. In python Modules offer a way to separate large programs into smaller units. Modules are also used to organize functions and variables into namespaces.

Standard modules Python has a number of standard modules that are always available for import. Modules are imported with the import -statement. >>> sys Traceback (most recent call last): File " ", line 1, in NameError: name 'sys' is not defined >>> import sys >>> sys >>> sys.version '2.4.3 (#1, Dec , 11:39:03) \n[GCC (Red Hat )]'

3 rd party modules Lots of freely available modules for: –GUI:s –Image Processing –Computer Graphics –Web development –Numerical Computations –...

Object oriented programming Python is originally a procedural language, with added support for object orientation. Classes are defined using the class keyword: # -*- coding: utf-8 -*- # io_01.py class MyClass MyNumer=10 def printNumber(self): print 'The number is ',MyNumber #Now we use the class anObject=MyClass()‏ anObject.printNumber()‏

Object oriented programming Python is originally a procedural language, with added support for object orientation. Classes are defined using the class keyword: # -*- coding: utf-8 -*- # io_01.py class MyClass: MyNumer=10 def printNumber(self): print 'The number is ',MyNumber #Now we use the class anObject=MyClass()‏ anObject.printNumber()‏

Private variables Python has limited support for private class variables. Variable names starting with two underscores (“__”) are considered private. If you really want to, it is still possible to access those variables from outside the class.

File I/O in python Files are opened with the open statement # -*- coding: utf-8 -*- # io_01.py f = open("newfile.txt", "r") # Öppna filen print f.read() # Läs in hela filen “r” -read only “w”- write only “r+” - read and write “a” - append data at the end of the file “b”- binary file

Reading parts of a file # -*- coding: utf-8 -*- # io_01.py f = open("newfile.txt")‏ for row in f.readlines(): print row, f.close()‏ f = open("newfile.txt")‏ print f.read(8)‏ print f.read(5)‏ $> python io_02.py Detta är textrad 1. Detta är textrad 2. Detta är textrad 3. Detta är textrad 4. Detta är text

Writing to a file # -*- coding: utf-8 -*- # io_03.py f = open("newfile.txt", "w")‏ f.write(str(3) + "\n")‏ f.write(str([1,2,3]) + "\n")‏ f.write(str({"name":"Kalle"}) + "\n")‏ f.close()‏ f = open("newfile.txt", "a")‏ f.write("Denna rad läggs till.")‏ f.close()‏ f = open("newfile.txt")‏ print f.read()‏ f.close()‏ $> python io_03.py 3 [1, 2, 3] {'name': 'Kalle'} Denna rad läggs till.

That's it! Now you know the basics More info: