University of Texas at Arlington, TX, USA

Size: px
Start display at page:

Download "University of Texas at Arlington, TX, USA"

Transcription

1 Dept. of Computer Science and Engineering University of Texas at Arlington, TX, USA

2 The set of program statements over which a variable exists (i.e. can be referred to) It is about understanding, for any variable, what its associated is. The problem is that mul;ple namespaces might be involved.

3 For Python, there are poten&ally mul&ple namespaces that could be used to determine the object associated with a variable. Remember, namespace is an associa&on of name and objects We will begin by looking at func;ons.

4 Each func;on maintains a namespace for names defined locally within the func&on. Locally means one of two things: a name assigned within the func;on an argument received by invoca;on of the func;on

5 For each argument in the func;on invoca;on, the argument s associated object is passed to the corresponding parameter in the func;on.

6

7 The diagram should make it clear that the parameter name is local to the func&on namespace. Passing means that the argument and the parameter, named in two different namespaces, share an associa;on with the same object. So passing means sharing in Python.

8 If a parameter is assigned to a new, then just like any other assignment, a new associa;on is created. This assignment does not affect the object associated with the argument, as a new associa;on was made with the parameter.

9

10 When passing a mutable data structure, it is possible that if the shared object is directly modified, both the parameter and the argument will reflect that change. Note that the opera;on must be a mutable change, a change of the object. An assignment is not such a change.

11

12

13 Func;ons return one thing, but it can be a chunky thing. For example, they can return tuples. Thus, mul;ple things can be returned by being packed into a tuple or other data structure.

14 >>> def foo(): a = 2 b = 3 return a,b >>> T = foo() >>> print T # (2, 3) >>> print foo() # (2, 3) >>> x,y = foo() >>> print x # 2 >>> print y # 3

15 >>> def foo(a): a[1]='x' return a >>> foo(2) # Error >>> foo('abc') # Error >>> foo([1,2,3]) [1, 'x', 3] >>> foo((1,2,3)) # Error

16 If you assign a in a func;on, that name becomes part of the local namespace of the func;on. It can have some odd effects.

17 def myfun (param): param.append(4) return param mylist = [1,2,3] newlist = myfun(mylist) print mylist,newlist

18 Main space mylist Param=myList foo space param

19 Main space mylist Param=myList foo space param

20 def myfun (param): param=[1,2,3]; # erase any parenthood! param.append(4) return param mylist = [1,2,3] newlist = myfun(mylist) print mylist,newlist

21 Main space mylist Param=myList foo space param

22 Main space mylist Param=myList foo space param 1 2 3

23 Main space mylist Param=myList foo space param

24 def myfun (param): param=param.append(4) return param mylist = [1,2,3] newlist = myfun(mylist) print mylist,newlist

25 Main space mylist Param=myList foo space param

26 Main space mylist Param=myList foo space param

27 Main space mylist Param=myList foo space param None

University of Texas at Arlington, TX, USA

University of Texas at Arlington, TX, USA Dept. of Computer Science and Engineering University of Texas at Arlington, TX, USA Part of the science in computer science is the design and use of data structures and algorithms. As you go on in CS,

More information

First cut, scope. Defining scope. Find the namespace. Passing argument to parameter. A function s namespace 6/13/2017. chapter 8.

First cut, scope. Defining scope. Find the namespace. Passing argument to parameter. A function s namespace 6/13/2017. chapter 8. chapter 8 First cut, scope More On Functions Defining scope The set of program statements over which a variable exists, i.e., can be referred to it is about understanding, for any variable, what its associated

More information

Fall 08, Sherri Goings, Exam #1 (10/2), form 1 B

Fall 08, Sherri Goings, Exam #1 (10/2), form 1 B Fall 08, Sherri Goings, Exam #1 (10/2), form 1 B Last name (printed): First name (printed): Directions: a) DO NOT OPEN YOUR EXAM BOOKLET UNTIL YOU HAVE BEEN TOLD TO BEGIN. b) You have 80 minutes to complete

More information

Functions, Scope & Arguments. HORT Lecture 12 Instructor: Kranthi Varala

Functions, Scope & Arguments. HORT Lecture 12 Instructor: Kranthi Varala Functions, Scope & Arguments HORT 59000 Lecture 12 Instructor: Kranthi Varala Functions Functions are logical groupings of statements to achieve a task. For example, a function to calculate the average

More information

CS Introduction to Computational and Data Science. Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017

CS Introduction to Computational and Data Science. Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017 CS 133 - Introduction to Computational and Data Science Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017 Introduction to Python II In the previous class, you have

More information

The Practice of Computing Using PYTHON

The Practice of Computing Using PYTHON The Practice of Computing Using PYTHON William Punch Richard Enbody Chapter 6 Lists and Tuples 1 Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Data Structures 2 Data Structures

More information

Absent: Lecture 3 Page 1. def foo(a, b): a = 5 b[0] = 99

Absent: Lecture 3 Page 1. def foo(a, b): a = 5 b[0] = 99 1. A function is a procedural abstract (a named body of code to perform some action and return a resulting value). The syntax of a function definition is: def functionname([parameter [, parameter]*]):

More information

Lecture 4. Defining Functions

Lecture 4. Defining Functions Lecture 4 Defining Functions Academic Integrity Quiz Remember: quiz about the course AI policy Have posted grades for completed quizes Right now, missing ~130 enrolled students If did not receive at least

More information

Announcements. Lecture Agenda. Class Exercise. Hashable. Mutability. COMP10001 Foundations of Computing Iteration

Announcements. Lecture Agenda. Class Exercise. Hashable. Mutability. COMP10001 Foundations of Computing Iteration COMP10001 Foundations of Computing Iteration Announcements Semester 1, 2017 Tim Baldwin & Egemen Tanin First Guest Lecture on Friday (examinable) Grok Worksheets 5 7 due at the end of this week version:

More information

LECTURE 2. Python Basics

LECTURE 2. Python Basics LECTURE 2 Python Basics MODULES ''' Module fib.py ''' from future import print_function def even_fib(n): total = 0 f1, f2 = 1, 2 while f1 < n: if f1 % 2 == 0: total = total + f1 f1, f2 = f2, f1 + f2 return

More information

Lecture 4. Defining Functions

Lecture 4. Defining Functions Lecture 4 Defining Functions Academic Integrity Quiz Remember: quiz about the course AI policy Have posted grades for completed quizes Right now, missing ~90 enrolled students If did not receive perfect,

More information

funcsigs Documentation

funcsigs Documentation funcsigs Documentation Release 0.4 Aaron Iles December 20, 2013 Contents i ii CHAPTER 1 The Funcsigs Package funcsigs is a backport of the PEP 362 function signature features from Python 3.3 s inspect

More information

15110 Principles of Computing, Carnegie Mellon University - CORTINA. Binary Search. Required: List L of n unique elements.

15110 Principles of Computing, Carnegie Mellon University - CORTINA. Binary Search. Required: List L of n unique elements. UNIT 5B Binary Search 1 Binary Search Required: List L of n unique elements. The elements must be sorted in increasing order. Result: The index of a specific element (called the key) or None if the key

More information

Conditionals & Control Flow

Conditionals & Control Flow CS 1110: Introduction to Computing Using Python Lecture 8 Conditionals & Control Flow [Andersen, Gries, Lee, Marschner, Van Loan, White] Announcements: Assignment 1 Due tonight at 11:59pm. Suggested early

More information

Exam 2, Form A CSE 231 Spring 2014 (1) DO NOT OPEN YOUR EXAM BOOKLET UNTIL YOU HAVE BEEN TOLD TO BEGIN.

Exam 2, Form A CSE 231 Spring 2014 (1) DO NOT OPEN YOUR EXAM BOOKLET UNTIL YOU HAVE BEEN TOLD TO BEGIN. Name: Section: Date: INSTRUCTIONS: (1) DO NOT OPEN YOUR EXAM BOOKLET UNTIL YOU HAVE BEEN TOLD TO BEGIN. (2) This exam booklet contains 30 questions, each of which will be weighted equally at 5 points each.

More information

Exam 2, Form B CSE 231 Spring 2014 (1) DO NOT OPEN YOUR EXAM BOOKLET UNTIL YOU HAVE BEEN TOLD TO BEGIN.

Exam 2, Form B CSE 231 Spring 2014 (1) DO NOT OPEN YOUR EXAM BOOKLET UNTIL YOU HAVE BEEN TOLD TO BEGIN. Name: Section: Date: INSTRUCTIONS: (1) DO NOT OPEN YOUR EXAM BOOKLET UNTIL YOU HAVE BEEN TOLD TO BEGIN. (2) This exam booklet contains 30 questions, each of which will be weighted equally at 5 points each.

More information

Repeated Arguments. 26 April 2013 OSU CSE 1

Repeated Arguments. 26 April 2013 OSU CSE 1 Repeated Arguments 26 April 2013 OSU CSE 1 Sources of Aliasing Aliased references for mutable types can cause trouble, so it is important to know how aliases might arise One way (which is easy to recognize

More information

Introduction to Python. Fang (Cherry) Liu Ph.D. Scien5fic Compu5ng Consultant PACE GATECH

Introduction to Python. Fang (Cherry) Liu Ph.D. Scien5fic Compu5ng Consultant PACE GATECH Introduction to Python Ph.D. Scien5fic Compu5ng Consultant PACE GATECH Things Covered What is Python? How to access Python environment? Fundamental elements in Python Variables (assignment, comparison,

More information

Homework notes. Homework 2 grades posted on canvas. Homework 3 due tomorrow. Homework 4 posted on canvas. Due Tuesday, Oct. 3

Homework notes. Homework 2 grades posted on canvas. Homework 3 due tomorrow. Homework 4 posted on canvas. Due Tuesday, Oct. 3 References Homework notes Homework 2 grades posted on canvas Homework 3 due tomorrow Homework 4 posted on canvas Due Tuesday, Oct. 3 Style notes Comment your code! A short line of comments per logical

More information

More Functions. CS 1111 Introduction to Programming. Spring 2019

More Functions. CS 1111 Introduction to Programming. Spring 2019 More Functions CS 1111 Introduction to Programming Spring 2019 [The Coder s Apprentice,, 8-8.3] Based in part on Agnostic Programming: Learning to Design and Test Basic Programming Algorithms by Kinga

More information

Python Review IPRE

Python Review IPRE Python Review 2 Jay Summet 2005-12-31 IPRE Outline Compound Data Types: Strings, Tuples, Lists & Dictionaries Immutable types: Strings Tuples Accessing Elements Cloning Slices Mutable Types: Lists Dictionaries

More information

Functions. Rich Enbody. From Mathematics we know that functions perform some operation and return one value.

Functions. Rich Enbody. From Mathematics we know that functions perform some operation and return one value. Functions Rich Enbody From Mathematics we know that functions perform some operation and return one value. 2 1 Functions encapsulate the performance of some operation, so it can be used by others. (for

More information

Programming in Python

Programming in Python Programming in Python Michael Schroeder Sebas0an Salen0n Lecture 2: Sequences Slides derived from Ian Holmes, Department of Sta0s0cs, University of Oxford 1 Updates by Andreas Henschel Summary: Scalars

More information

CSc 120. Introduction to Computer Programming II. 07: Excep*ons. Adapted from slides by Dr. Saumya Debray

CSc 120. Introduction to Computer Programming II. 07: Excep*ons. Adapted from slides by Dr. Saumya Debray CSc 120 Introduction to Computer Programming II Adapted from slides by Dr. Saumya Debray 07: Excep*ons EXERCISE Type in the following code: def foo(): n = int(input("enter a number:")) print("n = ", n)

More information

Practice midterm exam

Practice midterm exam University of Washington CSE 140 Data Programming Winter 2013 Practice midterm exam February 3, 2013 Name: Solutions CSE Net ID (username): UW Net ID (username): This exam is closed book, closed notes.

More information

Spring Semester 13, Dr. Punch. Exam #1 (2/14), form 1 A

Spring Semester 13, Dr. Punch. Exam #1 (2/14), form 1 A Spring Semester 13, Dr. Punch. Exam #1 (2/14), form 1 A Last name (printed): First name (printed): Directions: a) DO NOT OPEN YOUR EXAM BOOKLET UNTIL YOU HAVE BEEN TOLD TO BEGIN. b) You have 80 minutes

More information

Python Tutorial. CS/CME/BioE/Biophys/BMI 279 Oct. 17, 2017 Rishi Bedi

Python Tutorial. CS/CME/BioE/Biophys/BMI 279 Oct. 17, 2017 Rishi Bedi Python Tutorial CS/CME/BioE/Biophys/BMI 279 Oct. 17, 2017 Rishi Bedi 1 Python2 vs Python3 Python syntax Data structures Functions Debugging Classes The NumPy Library Outline 2 Many examples adapted from

More information

Announcements for this Lecture

Announcements for this Lecture Lecture 6 Objects Announcements for this Lecture Last Call Quiz: About the Course Take it by tomorrow Also remember survey Assignment 1 Assignment 1 is live Posted on web page Due Thur, Sep. 18 th Due

More information

CSSE 120 Introduction to Software Development Practice for Test 1 paper-and-pencil part Page 1 of 6

CSSE 120 Introduction to Software Development Practice for Test 1 paper-and-pencil part Page 1 of 6 CSSE 120 Introduction to Software Development Practice for Test 1 paper-and-pencil part Page 1 of 6 Name: Use this quiz to help you prepare for the Paper-and-Pencil portion of Test 1. Complete it electronically

More information

Scientific Computing: Lecture 3

Scientific Computing: Lecture 3 Scientific Computing: Lecture 3 Functions Random Numbers More I/O Practice Exercises CLASS NOTES Ò You should be finishing Chap. 2 this week. Ò HW00 due by midnight Friday into the Box folder Ò You should

More information

More Loop Examples Functions and Parameters

More Loop Examples Functions and Parameters More Loop Eamples Functions and Parameters Eample: min difference Given two of numbers, compute the minimum difference among any pair of numbers, one from each. E.g., 1 = [1, 2, 3, 4], 2 = [-2, 10, 5,

More information

COMP 364: Functions II

COMP 364: Functions II COMP 364: Functions II Carlos G. Oliver, Christopher Cameron October 2, 2017 1/29 Outline 1. Recap + Warmup 2. Functions Theory: Positional vs Keyword Arguments 3. Functions practice: Namespaces. 4. Practice

More information

Python Review IPRE

Python Review IPRE Python Review Jay Summet 2005-12-31 IPRE Outline Compound Data Types: Strings, Tuples, Lists & Dictionaries Immutable types: Strings Tuples Accessing Elements Cloning Slices Mutable Types: Lists Dictionaries

More information

CS1 Lecture 4 Jan. 23, 2019

CS1 Lecture 4 Jan. 23, 2019 CS1 Lecture 4 Jan. 23, 2019 First graded discussion sections this week yesterday/today 10 DS assignments worth 2 points each everyone gets one free 2-pointer. I.e. your lowest DS grade will be replaced

More information

CS1 Lecture 4 Jan. 24, 2018

CS1 Lecture 4 Jan. 24, 2018 CS1 Lecture 4 Jan. 24, 2018 First homework due Mon., 9:00am Meet specifications precisely. Functions only. Use a file editor! Don t type functions/long sections of code directly into Python interpreter.

More information

CS Introduction to Computational and Data Science. Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017

CS Introduction to Computational and Data Science. Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017 CS 133 - Introduction to Computational and Data Science Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017 Introduction to Python II In the previous class, you have

More information

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 164 Spring 2005 P. N. Hilfinger Project #2: Static Analyzer for Pyth Due: Wednesday, 6 April

More information

CSE : Python Programming

CSE : Python Programming CSE 399-004: Python Programming Lecture 08: Graphical User Interfaces with wxpython March 12, 2005 http://www.seas.upenn.edu/~cse39904/ Plan for today and next time Today: wxpython (part 1) Aside: Arguments

More information

Python a modern scripting PL. Python

Python a modern scripting PL. Python Python a modern scripting PL Basic statements Basic data types & their operations Strings, lists, tuples, dictionaries, files Functions Strings Dictionaries Many examples originally from O Reilly Learning

More information

Here n is a variable name. The value of that variable is 176.

Here n is a variable name. The value of that variable is 176. UNIT II DATA, EXPRESSIONS, STATEMENTS 9 Python interpreter and interactive mode; values and types: int, float, boolean, string, and list; variables, expressions, statements, tuple assignment, precedence

More information

Introduction to Python

Introduction to Python Introduction to Python EECS 4415 Big Data Systems Tilemachos Pechlivanoglou tipech@eecs.yorku.ca 2 Background Why Python? "Scripting language" Very easy to learn Interactive front-end for C/C++ code Object-oriented

More information

Func%onal Programming in Scheme and Lisp

Func%onal Programming in Scheme and Lisp Func%onal Programming in Scheme and Lisp http://www.lisperati.com/landoflisp/ Overview In a func(onal programming language, func(ons are first class objects You can create them, put them in data structures,

More information

Test 2 Practice Problems for the Paper-and-Pencil portion SOLUTION

Test 2 Practice Problems for the Paper-and-Pencil portion SOLUTION Page 1 of 19 Test 2 Practice Problems for the Paper-and-Pencil portion SOLUTION Test 2 will assess material covered in Sessions 1 through 14 (but NOT material from Session 15). It will draw problems especially

More information

LECTURE 3 Python Basics Part 2

LECTURE 3 Python Basics Part 2 LECTURE 3 Python Basics Part 2 FUNCTIONAL PROGRAMMING TOOLS Last time, we covered function concepts in depth. We also mentioned that Python allows for the use of a special kind of function, a lambda function.

More information

Teach A level Compu/ng: Algorithms and Data Structures

Teach A level Compu/ng: Algorithms and Data Structures Teach A level Compu/ng: Algorithms and Data Structures Eliot Williams @MrEliotWilliams Course Outline 1 Representa9ons of data structures: Arrays, tuples, Stacks, Queues,Lists 2 Recursive Algorithms (

More information

Introduction to Functional Programming (Python) John R. Woodward

Introduction to Functional Programming (Python) John R. Woodward Introduction to Functional Programming (Python) John R. Woodward Functional Programming 1. Programming paradigm? Object oriented, imperative 2. Immutable state (referential transparency) 3. Higher order

More information

Part I. Wei Tianwen. A Brief Introduction to Python. Part I. Wei Tianwen. Basics. Object Oriented Programming

Part I. Wei Tianwen. A Brief Introduction to Python. Part I. Wei Tianwen. Basics. Object Oriented Programming 2017 Table of contents 1 2 Integers and floats Integer int and float float are elementary numeric types in. integer >>> a=1 >>> a 1 >>> type (a) Integers and floats Integer int and float

More information

Func%onal Programming in Scheme and Lisp

Func%onal Programming in Scheme and Lisp Func%onal Programming in Scheme and Lisp http://www.lisperati.com/landoflisp/ Overview In a func(onal programming language, func(ons are first class objects You can create them, put them in data structures,

More information

List comprehensions (and other shortcuts) UW CSE 160 Spring 2015

List comprehensions (and other shortcuts) UW CSE 160 Spring 2015 List comprehensions (and other shortcuts) UW CSE 160 Spring 2015 Three Ways to Define a List Explicitly write out the whole thing: squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100] Write a loop to create

More information

TUPLES AND RECURSIVE LISTS 5

TUPLES AND RECURSIVE LISTS 5 TUPLES AND RECURSIVE LISTS 5 COMPUTER SCIENCE 61A July 3, 2012 1 Sequences From the Pig project, we discovered the utility of having structures that contain multiple values. Today, we are going to cover

More information

CS 1110 Final, December 17th, Question Points Score Total: 100

CS 1110 Final, December 17th, Question Points Score Total: 100 CS 1110 Final, December 17th, 2014 This 150-minute exam has 8 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need

More information

Func+on applica+ons (calls, invoca+ons)

Func+on applica+ons (calls, invoca+ons) Func%ons in Racket Racket Functions: most important building block in Racket (and 25) Functions/procedures/methods/subroutines abstract over computations Like Java methods, Python functions have arguments

More information

Sharing, mutability, and immutability. Ruth Anderson UW CSE 160 Spring 2018

Sharing, mutability, and immutability. Ruth Anderson UW CSE 160 Spring 2018 Sharing, mutability, and immutability Ruth Anderson UW CSE 160 Spring 2018 1 Copying and mutation See in python tutor list1 = ["e1", "e2", "e3", "e4"] list2 = list1 list3 = list(list1) # make a copy; also

More information

Lecture 4: Defining Functions (Ch ) CS 1110 Introduction to Computing Using Python

Lecture 4: Defining Functions (Ch ) CS 1110 Introduction to Computing Using Python http://www.cs.cornell.edu/courses/cs0/209sp Lecture 4: Defining Functions (Ch..4-.) CS 0 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White]

More information

Lecture no

Lecture no Advanced Algorithms and Computational Models (module A) Lecture no. 3 29-09-2014 Giacomo Fiumara giacomo.fiumara@unime.it 2014-2015 1 / 28 Expressions, Operators and Precedence Sequence Operators The following

More information

STSCI Python Introduction. Class URL

STSCI Python Introduction. Class URL STSCI Python Introduction Class 2 Jim Hare Class URL www.pst.stsci.edu/~hare Each Class Presentation Homework suggestions Example files to download Links to sites by each class and in general I will try

More information

Functions parameters, scope CS GMU

Functions parameters, scope CS GMU Functions parameters, scope CS 112 @ GMU Functions function: we can name a batch of statements, to call later. a function can accept some expected number of values to be supplied each time it is called

More information

61A Lecture 2. Wednesday, September 4, 2013

61A Lecture 2. Wednesday, September 4, 2013 61A Lecture 2 Wednesday, September 4, 2013 Names, Assignment, and User-Defined Functions (Demo) Types of Expressions Primitive expressions: 2 add 'hello' Number or Numeral Name String Call expressions:

More information

15110 Principles of Compu5ng, Carnegie Mellon University - CORTINA. Finding the maximum. Required: a non-empty list of integers.

15110 Principles of Compu5ng, Carnegie Mellon University - CORTINA. Finding the maximum. Required: a non-empty list of integers. UNIT 3C Using Loops and Condi5onals 1 Finding the maximum Required: a non-empty list of integers. 1. Set max equal to the first number in the list. 2. For each number n in the list: a. If n is greater

More information

Part IV. More on Python. Tobias Neckel: Scripting with Bash and Python Compact Max-Planck, February 16-26,

Part IV. More on Python. Tobias Neckel: Scripting with Bash and Python Compact Max-Planck, February 16-26, Part IV More on Python Compact Course @ Max-Planck, February 16-26, 2015 36 More on Strings Special string methods (excerpt) s = " Frodo and Sam and Bilbo " s. islower () s. isupper () s. startswith ("

More information

Functions!!! Why functions? Functions provide good way to design systems!

Functions!!! Why functions? Functions provide good way to design systems! Functions!!! Why functions? Functions provide good way to design systems! Coding Design! DRY principle - Don't Repeat Yourself! Loops help with this! Functions/procedures/modules help even more! Modular

More information

Programming Languages

Programming Languages CSE 130 : Spring 2011 Programming Languages Lecture 13: What s in a Name? Ranjit Jhala UC San Diego Next: What s in a name? More precisely: How should programmer think of data What does a variable x really

More information

Next: What s in a name? Programming Languages. Data model in functional PL. What s in a name? CSE 130 : Fall Lecture 13: What s in a Name?

Next: What s in a name? Programming Languages. Data model in functional PL. What s in a name? CSE 130 : Fall Lecture 13: What s in a Name? Next: What s in a name? CSE 13 : Fall 211 Programming Languages Lecture 13: What s in a Name? More precisely: How should programmer think of data What does a variable x really mean? Ranjit Jhala UC San

More information

Through Python. "Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura..." Dante Alighieri

Through Python. Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura... Dante Alighieri Through Python "Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura..." Dante Alighieri Syllabus Variables vs object Float representa2on The importance of syntax operator overloading built-in

More information

List of squares. Program to generate a list containing squares of n integers starting from 0. list. Example. n = 12

List of squares. Program to generate a list containing squares of n integers starting from 0. list. Example. n = 12 List of squares Program to generate a list containing squares of n integers starting from 0 Example list n = 12 squares = [] for i in range(n): squares.append(i**2) print(squares) $ python3 squares.py

More information

CS 303E Fall 2011 Exam 2 Solutions and Criteria November 2, Good Luck!

CS 303E Fall 2011 Exam 2 Solutions and Criteria November 2, Good Luck! CS 303E Fall 2011 Exam 2 Solutions and Criteria November 2, 2011 Name: EID: Section Number: Friday discussion time (circle one): 9-10 10-11 11-12 12-1 2-3 Friday discussion TA(circle one): Wei Ashley Answer

More information

Writing a Fraction Class

Writing a Fraction Class Writing a Fraction Class So far we have worked with floa0ng-point numbers but computers store binary values, so not all real numbers can be represented precisely In applica0ons where the precision of real

More information

2/18/14. Uses for Discrete Math in Computer Science. What is discrete? Why Study Discrete Math? Sets and Functions (Rosen, Sections 2.1,2.2, 2.

2/18/14. Uses for Discrete Math in Computer Science. What is discrete? Why Study Discrete Math? Sets and Functions (Rosen, Sections 2.1,2.2, 2. Why Study Discrete Math? Sets and Functions (Rosen, Sections 2.1,2.2, 2.3) TOPICS Discrete math Set Definition Set Operations Tuples Digital computers are based on discrete units of data (bits). Therefore,

More information

Introduction to Python

Introduction to Python May 25, 2010 Basic Operators Logicals Types Tuples, Lists, & Dictionaries and or Building Functions Labs From a non-lab computer visit: http://www.csuglab.cornell.edu/userinfo Running your own python setup,

More information

61A LECTURE 14 MULTIPLE REPRESENTATIONS

61A LECTURE 14 MULTIPLE REPRESENTATIONS 61A LECTURE 14 MULTIPLE REPRESENTATIONS Steven Tang and Eric Tzeng July 17, 2013 Generic Functions An abstrac/on might have more than one representa/on. Python has many sequence types: tuples, ranges,

More information

CS2304: Python for Java Programmers. CS2304: Sequences and Collections

CS2304: Python for Java Programmers. CS2304: Sequences and Collections CS2304: Sequences and Collections Sequences In Python A sequence type in python supports: The in membership operator. The len() function. Slicing like we saw with strings, s[1:3]. And is iterable (for

More information

Defining Functions. Chapter 6. Wednesday, January 23, Why functions?

Defining Functions. Chapter 6. Wednesday, January 23, Why functions? Defining Functions Chapter 6 1 Why functions? Functions allow decomposition of programs into manageable, reusable, components Functions are similar to mathematical functions, but also differ: parameter

More information

61A LECTURE 14 MULTIPLE REPRESENTATIONS. Steven Tang and Eric Tzeng July 17, 2013

61A LECTURE 14 MULTIPLE REPRESENTATIONS. Steven Tang and Eric Tzeng July 17, 2013 61A LECTURE 14 MULTIPLE REPRESENTATIONS Steven Tang and Eric Tzeng July 17, 2013 Generic Functions An abstrac*on might have more than one representa*on. Python has many sequence types: tuples, ranges,

More information

Functions as Arguments, Sorting. Genome 559: Introduction to Statistical and Computational Genomics Elhanan Borenstein

Functions as Arguments, Sorting. Genome 559: Introduction to Statistical and Computational Genomics Elhanan Borenstein Functions as Arguments, Sorting Genome 559: Introduction to Statistical and Computational Genomics Elhanan Borenstein Functions: A quick review Reusable pieces of code (write once, use many) Take arguments,

More information

Lists in Lisp and Scheme

Lists in Lisp and Scheme Lists in Lisp and Scheme a Lists in Lisp and Scheme Lists are Lisp s fundamental data structures, but there are others Arrays, characters, strings, etc. Common Lisp has moved on from being merely a LISt

More information

Student Number: Comments are not required except where indicated, although they may help us mark your answers.

Student Number: Comments are not required except where indicated, although they may help us mark your answers. CSC 108H5 F 2018 Midterm Test Duration 90 minutes Aids allowed: none Student Number: utorid: Last Name: First Name: Do not turn this page until you have received the signal to start. (Please fill out the

More information

CS 1110 Final, December 8th, Question Points Score Total: 100

CS 1110 Final, December 8th, Question Points Score Total: 100 CS 1110 Final, December 8th, 2016 This 150-minute exam has 8 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need more

More information

Last Name: First: Netid: Section. CS 1110 Final, December 17th, 2014

Last Name: First: Netid: Section. CS 1110 Final, December 17th, 2014 CS 0 Final, December 7th, 204 SOLUTION This 50-minute exam has 8 questions worth a total of 00 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need

More information

CS1 Lecture 22 Mar. 8, HW5 available due this Friday, 5pm

CS1 Lecture 22 Mar. 8, HW5 available due this Friday, 5pm CS1 Lecture 22 Mar. 8, 2017 HW5 available due this Friday, 5pm CS1 Lecture 22 Mar. 8, 2017 HW5 available due this Friday, 5pm HW4 scores later today LAST TIME Tuples Zip (and a bit on iterators) Use of

More information

Computational Concepts Toolbox. Object Oriented Programming. Today: class. Review: Objects

Computational Concepts Toolbox. Object Oriented Programming. Today: class. Review: Objects Computational Concepts Toolbox Object Oriented Programming David E Culler CS8 Computational Structures in Data Science http://insteecsberkeleyedu/~cs88 Lecture 8 March 28, 2016 Data type: values, literals,

More information

Programming for Engineers in Python

Programming for Engineers in Python Programming for Engineers in Python Lecture 5: Object Oriented Programming Autumn 2011-12 1 Lecture 4 Highlights Tuples, Dictionaries Sorting Lists Modular programming Data analysis: text categorization

More information

Chapter 8 SETS AND DICTIONARIES

Chapter 8 SETS AND DICTIONARIES Chapter 8 SETS AND DICTIONARIES Chapter Contents Sets Dictionaries Complex Data Structures 10/19/16 Page 2 Chapter Goals To build and use a set container To learn common set opera2ons for processing data

More information

Principles of Programming Languages

Principles of Programming Languages Principles of Programming Languages h"p://www.di.unipi.it/~andrea/dida2ca/plp-16/ Prof. Andrea Corradini Department of Computer Science, Pisa Control Flow Iterators Recursion Con>nua>ons Lesson 25! 1 Iterators

More information

Algorithmic Approaches for Biological Data, Lecture #15

Algorithmic Approaches for Biological Data, Lecture #15 Algorithmic Approaches for Biological Data, Lecture #15 Katherine St. John City University of New York American Museum of Natural History 23 March 2016 Outline Sorting by Keys K. St. John (CUNY & AMNH)

More information

CS 1110 Final, December 16th, 2013

CS 1110 Final, December 16th, 2013 CS 1110 Final, December 16th, 2013 This 150-minute exam has 8 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need

More information

R workshop. Ac,on! (Operators and Func,ons)

R workshop. Ac,on! (Operators and Func,ons) R workshop Ac,on! (Operators and Func,ons) Ac,ng on variables In the previous sec,on, we talked about objects and data sets Now let s do something with them Verbs Operators Func,ons Simple calcula,on Operator

More information

Scope and Parameter Passing 1 / 19

Scope and Parameter Passing 1 / 19 Scope and Parameter Passing 1 / 19 Outline Overview Naming and scope Function/procedure calls Static vs. dynamic scope Parameter passing schemes 2 / 19 Review of naming Most languages provide a way to

More information

Object Oriented Programming. Feb 2015

Object Oriented Programming. Feb 2015 Object Oriented Programming Feb 2015 Tradi7onally, a program has been seen as a recipe a set of instruc7ons that you follow from start to finish in order to complete a task. That approach is some7mes known

More information

The Distributive Property and Expressions Understand how to use the Distributive Property to Clear Parenthesis

The Distributive Property and Expressions Understand how to use the Distributive Property to Clear Parenthesis Objective 1 The Distributive Property and Expressions Understand how to use the Distributive Property to Clear Parenthesis The Distributive Property The Distributive Property states that multiplication

More information

Outline. The Python Memory Model A Linked Implementation of Lists In-Class Work. 1 Chapter 4: Linked Structures and Iterators

Outline. The Python Memory Model A Linked Implementation of Lists In-Class Work. 1 Chapter 4: Linked Structures and Iterators Outline 1 Variable Names and References Assignment Statements An assignment statement in Python associates an object with the name of a variable. More precisely, the name is associated with a reference

More information

61A LECTURE 8 SEQUENCES, ITERABLES

61A LECTURE 8 SEQUENCES, ITERABLES 61A LECTURE 8 SEQUENCES, ITERABLES Steven Tang and Eric Tzeng July 8, 013 Announcements Homework 4 due tonight Homework 5 is out, due Friday Midterm is Thursday, 7pm Thanks for coming to the potluck! What

More information

61A LECTURE 8 SEQUENCES, ITERABLES. Steven Tang and Eric Tzeng July 8, 2013

61A LECTURE 8 SEQUENCES, ITERABLES. Steven Tang and Eric Tzeng July 8, 2013 61A LECTURE 8 SEQUENCES, ITERABLES Steven Tang and Eric Tzeng July 8, 2013 Announcements Homework 4 due tonight Homework 5 is out, due Friday Midterm is Thursday, 7pm Thanks for coming to the potluck!

More information

EXPRESSIONS, STATEMENTS, AND FUNCTIONS 1

EXPRESSIONS, STATEMENTS, AND FUNCTIONS 1 EXPRESSIONS, STATEMENTS, AND FUNCTIONS 1 COMPUTER SCIENCE 61A June 24, 2014 0.1 Warmup What Would Python Do? >>> x = 6 >>> def square(x):... return x * x >>> square(x) >>> max(pow(2, 3), square(-5)) -

More information

Using IDLE for

Using IDLE for Using IDLE for 15-110 Step 1: Installing Python Download and install Python using the Resources page of the 15-110 website. Be sure to install version 3.3.2 and the correct version depending on whether

More information

UCT Department of Computer Science Computer Science 1017F. Functions. Lighton Phiri April 2015

UCT Department of Computer Science Computer Science 1017F. Functions. Lighton Phiri April 2015 UCT Department of Computer Science Computer Science 1017F Functions Lighton Phiri April 2015 Functions in pespective Function definition Function signature Function invocation Input

More information

Programming to Python

Programming to Python Programming to Python Sept., 5 th Slides by M. Stepp, M. Goldstein, M. DiRamio, and S. Shah Compiling and interpreting Many languages require you to compile (translate) your program into a form that the

More information

Python: Functions. Thomas Schwarz, SJ Marquette University

Python: Functions. Thomas Schwarz, SJ Marquette University Python: Functions Thomas Schwarz, SJ Marquette University History Early computer programming was difficult Not only because interacting with the computer was difficult Data was entered by setting switches,

More information

Python Basics. Nakul Gopalan With help from Cam Allen-Lloyd

Python Basics. Nakul Gopalan With help from Cam Allen-Lloyd Python Basics Nakul Gopalan ngopalan@cs.brown.edu With help from Cam Allen-Lloyd 1 Introduction to the idea Readable, easy to learn programming language. Created by Guido van Rossum Named after the BBC

More information

CS 1110 Final, December 8th, Question Points Score Total: 100

CS 1110 Final, December 8th, Question Points Score Total: 100 CS 1110 Final, December 8th, 2016 This 150-minute exam has 8 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need more

More information

COMP1730/COMP6730 Programming for Scientists. Functions

COMP1730/COMP6730 Programming for Scientists. Functions COMP1730/COMP6730 Programming for Scientists Functions Lecture outline * Function definition. * Function calls & order of evaluation. * Assignments in functions; local variables. * Function testing. Functions

More information