1 / 25

Introduction to Python

Introduction to Python. Lecture 1. 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.

ursulap
Télécharger la présentation

Introduction to Python

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Python Lecture 1

  2. 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 CS 484 – Artificial Intelligence

  3. 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 CS 484 – Artificial Intelligence

  4. 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 CS 484 – Artificial Intelligence

  5. 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 CS 484 – Artificial Intelligence

  6. 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 CS 484 – Artificial Intelligence

  7. Python Error Messages >>> print 'fred' + 7 Traceback (innermost last): File "<stdin>", 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 CS 484 – Artificial Intelligence

  8. 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 CS 484 – Artificial Intelligence

  9. 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 CS 484 – Artificial Intelligence

  10. Boolean Operators • Relational operators are all the same • 5 <= 6 • Boolean values • True (case sensitive) • False Try print ((5 <= 6) == true) CS 484 – Artificial Intelligence

  11. 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 CS 484 – Artificial Intelligence

  12. 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 CS 484 – Artificial Intelligence

  13. Control Statements • Conditionals if <condition>: <tab><statement(s)> elif <condition>: <tab><statement(s)> else: <tab><statement(s)> • Example: name = "Jane" if "a" in name: print "There is an 'a'" else: print "There is not an 'a'" • There is no switch statement CS 484 – Artificial Intelligence

  14. Control Statements • Loops while <condition>: <tab><statement(s)> for <var> in range(i,j): # up to but # not including j <tab><statement(s)> • Example: name = "Jane" for c in name: print c • no do while loops CS 484 – Artificial Intelligence

  15. 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 CS 484 – Artificial Intelligence

  16. Defining New Functions • Syntax def <function name>(<argument list>): <tab><statements> • 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) CS 484 – Artificial Intelligence

  17. Classes • Begin with header line class <className>: • Constructor and methods • tabbed over once • first argument is "self" • Constructor def __init__(self, <other arguments>): <tab><statement(s)> • Methods def <method name> (self, <other arguments>): <tab><statement(s)> • Class variables self.<variable name> CS 484 – Artificial Intelligence

  18. 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() CS 484 – Artificial Intelligence

  19. Using Files • Function open opens a file in the mode specified by the argument <file handle> = open(<file name>, <mode>) • 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() CS 484 – Artificial Intelligence

  20. 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 CS 484 – Artificial Intelligence

  21. Sample Program # Accepts the word if it contains at least one lowercase # letter lowercase = "abcdefghijklmnopqrstuvwxyz" for c in lowercase: ifnot 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 CS 484 – Artificial Intelligence

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

  23. 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") CS 484 – Artificial Intelligence

  24. 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) CS 484 – Artificial Intelligence

  25. Lab Exercise • Write a program in python that plays hangman CS 484 – Artificial Intelligence

More Related