Download presentation
Presentation is loading. Please wait.
Published byThomas Fields Modified over 9 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.