260 likes | 1k Views
Introduction to Python. Usman Roshan. Python. Interpreter language: the Python interpreter executes each statement one at a time. No compilation or linking is required. Python programs are called scripts which are simple text files. To execute a script we pass it through the interpreter.
E N D
Introduction to Python Usman Roshan
Python • Interpreter language: the Python interpreter executes each statement one at a time. • No compilation or linking is required. • Python programs are called scripts which are simple text files. To execute a script we pass it through the interpreter.
Data types • Basic data types • Integer • Float • String • Boolean (true or false) • Collections • Lists • Dictionaries (hash tables) • Sets • And more…
Expressions • Numeric operators such as +, -, *, /, ** • Logical operators such as and and or • String operators such as in, +, [], [:] • String and numeric functions such as len, abs, max, and min.
Assignment • name = value • Examples: • sequence = “ACCCATA” • x = 5 • y = x + 2
Lists • Ordered collection of basic types • Examples: • list1 = [1, 2, 3] • list2 = [4, 5] • Operations on lists • Concatenate: list3 = list1 + list2 • Access nth element: list1[n]
Lists • Time to lookup, insert, and delete • We care about the worst case runtime for now • We will write runtimes as a function of the input size • The worst case runtime to lookup an item is the length of the list. But the time to lookup the ithitem is actually constant. If we say print(l[i]) where l is a list then this takes constant time. • The worst case runtime to insert an item into the list is the length of the list • The worst case runtime to delete an item from the list is the length of the list
Dictionaries • Dictionaries are like arrays, except that they are indexed by user defined keys instead of non-negative integers. • They are also called hash-tables • Example • h={‘A’:’T’, ‘C’:’G’} • Operations on dictionaries • Lookup: h[key]
Hash-tables • Time to lookup, insert, and delete • We will write runtimes as a function of the input size • The expected case runtime to lookup an item is constant • The expected case runtime to insert an item into the list is constant • The expected case runtime to delete an item from the list is constant
Input and Output • Input and output to files is done by creating a file object open(path, mode) • Example: f = open(“myfile.txt”,”r”) f.readline()
Control structures • Conditional statements if expression : statements1 else: statements2 • Example max = 0 if(x > y): max = x else: max = y
Iteration • for count in range(start,stop,step): statements • for item in collection: do something with item
Basic algorithmic techniques • In mainstream CS one is taught: • Dynamic programming • Greedy algorithms • Divide-and-conquer • In data science and machine learning we use coordinate and gradient descent extensively • What is coordinate and gradient descent?
Runtime analysis • Theoretical analysis: How long does it take for an algorithm to finish as a function of input size? • Real analysis: runtime in seconds depending upon machine