Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Scripting Languages: Python Some slides are based upon Python Documentation - Extended.

Similar presentations


Presentation on theme: "Introduction to Scripting Languages: Python Some slides are based upon Python Documentation - Extended."— Presentation transcript:

1 Introduction to Scripting Languages: Python Some slides are based upon Python Documentation - http://www.python.org/doc/http://www.python.org/doc/ Extended System Programming Laboratory (ESPL) CS Department @ BGU Fall 2014/2015

2 2 When ?TopicLecture October 26, 2014 Introduction to C Programming in Unix Environment - I 1 November 2, 2014 Introduction to C Programming in Unix Environment - II 2 November 9, 2014Introduction to Assembly3 November 16, 2014Functions and System Calls (Assembly)4 Midterm A (December 9, 2014 - 18:00) December 7, 2014Unix Processes5 December 14, 2014Programs Execution6 December 28, 2014Introduction to script languages (Python) + ELF 7 January 4, 2014Web programming8 Midterm B (January 19, 2015) OR (January 20, 2015)

3 3

4  C and Assembly – Efficient code with access to OS services  Shell Scripts – connecting Unix utilities by I/O redirection and pipes 4

5  In practice, programs output needs pre-processing  Usually an interpreted scripting language  Useful for writing and maintaining:  custom commands for a command shell  wrapper programs for executables  C/Java VS. Python 5

6 6 import java.io.IOException; import java.io.FileReader; import java.io.BufferedReader; class numlines { public static void main(String[] args) throws IOException { BufferedReader inp = new BufferedReader(new FileReader(args[0])); String line; for(int i=1;;++i) { line = inp.readLine(); if(line==null) break; System.out.printf("%3d: %s\n", i, line); } inp.close(); } } ------------------------------------------------------------------------------------------- import sys i = 1 for line in file(sys.argv[1]): print "%3d: %s" % (i, line), i+= 1

7  An open source interpreted programming language  High-level language  Object-Oriented  Functional Programming  Suitable for scripting  Practical ( VS. Efficiency )  Dynamic language 7

8  No need to declare  Not typed greeting = "hello world" greeting = 12**2 print greeting  Need to assign (initialize) ▪ use of uninitialized variable raises exception 8

9  "hello"+"world" "helloworld"# concatenation  "hello"*3"hellohellohello" # repetition  "hello"[0]"h"# indexing  "hello"[-1]"o"# (from end)  "hello"[1:4]"ell"# slicing  len("hello")5# size  "hello" < "jello"1# comparison  "e" in "hello"1# search 9

10  key = (lastname, firstname)  point = (x, y, z) # parentheses optional  a,b,c = point # unpack  lastname = key[0]  sort of an immutable list TypeError: 'tuple' object does not support item assignment  key[1] = ‘Abed’ # TypeError: 'tuple' object does not support item assignment 10

11 [ ] >>> my_list = ['Hello', 1, 2.2, 'world'] >>> len(my_list) 4 >>> my_list[0] ‘Hello’ >>> my_list.append(‘espl’) >>> my_list >>> ['Hello', 1, 2.2, 'world‘,’espl’] >>> del my_list[0] >>> [1, 2.2, 'world‘,’espl’] >>> my_list.index(‘espl’) >>> 4 >>> ‘espl141’ in my_list >>> False 11

12  Hash tables, "associative arrays"  d = {"duck": "eend", "water": “cold"}  Lookup:  d["duck"] -> "eend"  d["back"] # raises KeyError exception  Keys, values, items:  d.keys() -> ["duck", “water"]  d.values() -> [“eend", “cold"]  d.items() -> [("duck",“eend"), (“water",“cold")]  Presence check:  d.has_key("duck") -> 1; d.has_key("spam") -> 0 12

13 def ( ): def factorial(n): fact = 1 for i in range(1, n): fact = fact * i return fact 13

14 class student: def __init__(self, id): self._id = id self._grades = {} def update_grade(self, subject, grade): self._grades[subject] = grade #Comment, Main: s = student('233445598') s.update_grade('heshbon', 80) s.update_grade('handasa', 49) 14

15 >>> from math import * >>> sin(30*3.14/180) >>> from math import sin >>> sin(30*3.14/180) >>> from math import sin as sinus >>> sinus(30*3.14/180) 15

16  Control structures  If statement  While  For  …. 16


Download ppt "Introduction to Scripting Languages: Python Some slides are based upon Python Documentation - Extended."

Similar presentations


Ads by Google