Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Python Lecture 1. CS 484 – Artificial Intelligence2 Big Picture Language Features Python is interpreted Not compiled Object-oriented language.

Similar presentations


Presentation on theme: "Introduction to Python Lecture 1. CS 484 – Artificial Intelligence2 Big Picture Language Features Python is interpreted Not compiled Object-oriented language."— Presentation transcript:

1 Introduction to Python Lecture 1

2 CS 484 – Artificial Intelligence2 Big Picture Language Features Python is interpreted Not compiled Object-oriented language There are no declarations of variables Variables take a retain the type of the data assigned to it Whitespace is used as delimiters no main method

3 CS 484 – Artificial Intelligence3 First Statement Hello World >>> print 'Hello World!' Usually double and single quotes can be used interchangeably A string in double quotes cannot contain a " A string in single quotes cannot contain a ' Put strings in """ if you need both or newlines Try: outputting Hello World on two lines

4 CS 484 – Artificial Intelligence4 Python Calculator You can print the results of expressions (variables and functions) >>> print 6 + 5 >>> print ((8 % 3) ** (7 / 3)) * ( 5 – 1) Integer vs. Floating point division >>> print 15 / 4 >>> print 15 / 4.0

5 CS 484 – Artificial Intelligence5 Using Formatted Strings Combining strings and numbers >>> print 'The total is ', 24+53 Combining strings with many numbers >>> print "The sum of %d and %d is %d" % (7, 18, (7 + 18)) Just like printf in C, other example codes %s – String %x – Hexadecimal %0.2f – A real number with two figures following the decimal point %4d – Leading spaces to pad the number to at least 4 digits %04d – Leading 0's to pad the number to at least 4 digits

6 CS 484 – Artificial Intelligence6 Other important features Comments begin with a # >>> print 7 + 5 # This should print 12 Making use of libraries or other functions and methods you have written >>> import sys >>> sys.exit() >>> from random import * >>> from pyrobot.brain import Brain

7 CS 484 – Artificial Intelligence7 Python Error Messages >>> print 'fred' + 7 Traceback (innermost last): File " ", line 1, in ? TypeError: cannot concatenate 'str' and 'int' objects Errors only reported when line is encountered Python's error messages are often wrong Inspect the line of the error and a few above

8 CS 484 – Artificial Intelligence8 Variables Variables are not declared Can change types with new assignments >>> q = 7 # q is currently a number >>> print q >>> q = 'Seven' # q is reassign to a string >>> print q

9 CS 484 – Artificial Intelligence9 String Operators + operator: String Concatenation >>> print 'Again' + ' and again' * operator: String repetition >>> print 'repeat ' * 3 Combining operators >>> print 'Again' + (' and again' * 3) String methods are documented here http://docs.python.org/lib/string-methods.html http://docs.python.org/lib/string-methods.html

10 CS 484 – Artificial Intelligence10 Boolean Operators C/Java Operator Python Operator A && BA and B A || BA or B A == B A != B A <> B !Anot A Relational operators are all the same 5 <= 6 Boolean values True (case sensitive) False Try print ((5 <= 6) == true)

11 CS 484 – Artificial Intelligence11 Lists A sequence of items Has the ability to grow (unlike array) Use indexes to access elements (array notation) examples aList = [] another = [1,2,3] You can print an entire list or an element print another print another[0] index -1 accesses the end of a list

12 CS 484 – Artificial Intelligence12 List operation append method to add elements (don't have to be the same type) aList.append(42) aList.append(another) del removes elements del aList[0] # removes 42 Concatenate lists with + Add multiple elements with * zerolist = [0] * 5 Multiple assignments point = [1,2] x, y = point More operations can be found at http://docs.python.org/lib/types-set.html http://docs.python.org/lib/types-set.html

13 CS 484 – Artificial Intelligence13 Control Statements Conditionals if : elif : else: Example: name = "Jane" if "a" in name: print "There is an 'a'" else: print "There is not an 'a'" There is no switch statement

14 CS 484 – Artificial Intelligence14 Control Statements Loops while : for in range(i,j): # up to but # not including j Example: name = "Jane" for c in name: print c no do while loops

15 CS 484 – Artificial Intelligence15 Interacting with user Obtaining data from a user Use function raw_input for strings or input for numbers Example name = raw_input("What's your name?") Command Line arguments Example: import sys for item in sys.argv: print item Remember sys.argv[0] is the program name

16 CS 484 – Artificial Intelligence16 Defining New Functions Syntax def ( ): Remember there is not type checking Function may or may not return something Example def times(n): for i in range(1,13): print "%2d x %2d = %3d" % (i, n, i*n)

17 CS 484 – Artificial Intelligence17 Classes Begin with header line class : Constructor and methods tabbed over once first argument is "self" Constructor def __init__(self, ): Methods def (self, ): Class variables self.

18 CS 484 – Artificial Intelligence18 Example Class class Message: def __init__(self, aString): self.text = aString def printIt(self): print self.text def getMessage(self): return self.text Use: from Message import * msg = Message("hi") msg.printIt() Use: from Message import * msg = Message("hi") msg.printIt()

19 CS 484 – Artificial Intelligence19 Using Files Function open opens a file in the mode specified by the argument = open(, ) file name is a string with path and name of the file Possible modes "r" to read "w" to write "rb" to read a binary file "wb" to write a binary file Example input = open("myFile.txt", "r") output = open("copy.txt", "w") for line in input.readlines(): output.write(line) input.close() output.close()

20 CS 484 – Artificial Intelligence20 Sample Program # file: createDict.py # by: Dawn Lawrie # date: September 8, 2005 # Reads the standard dictionary and creates a simpler # dictionary that only includes words in all lowercase letters # without aprostrophes # Opens the input and output files input = open("/usr/share/dict/american-english", "r") output = open("simpleDict", "w") # Reads each lines of the dictionary for line in input.readlines(): # Assumes that the word should not be in the simpler # dictionary good = False

21 CS 484 – Artificial Intelligence21 Sample Program # Accepts the word if it contains at least one lowercase # letter lowercase = "abcdefghijklmnopqrstuvwxyz" for c in lowercase: if not good and c in line: good = True # Rejects the word if there is an apostrophe if "'" in line: good = False # Rejects the word if it contains a uppercase letter if good: caps = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" for c in caps: if good and c in line: good = False

22 CS 484 – Artificial Intelligence22 Sample Program con't # Outputs the word if it is acceptable if good: output.write(line)

23 CS 484 – Artificial Intelligence23 Using String Methods # file: createDict2.py # by: Dawn Lawrie # date: September 8, 2005 … code the opens files has been removed # Reads each lines of the dictionary for line in input.readlines(): # Removes all leading and trailing whitespace word = line.strip() # Outputs the word if all the characters are alphabetic # and they are all lowercase if word.isalpha() and word.islower(): output.write(word + "\n")

24 CS 484 – Artificial Intelligence24 Pitfalls My common mistakes Forgetting ":" in a condition or loop especially after else Emacs helps because it won't tab over Forgetting "self" before class variables Without it python creates a new variable Forgetting the return statement This turned up as a type mismatch when I tried to use the results of the function which I had stored in another variable (Very Confusing)

25 CS 484 – Artificial Intelligence25 Lab Exercise Write a program in python that plays hangman


Download ppt "Introduction to Python Lecture 1. CS 484 – Artificial Intelligence2 Big Picture Language Features Python is interpreted Not compiled Object-oriented language."

Similar presentations


Ads by Google