0% found this document useful (0 votes)
39 views

Lecture Notes 12

Uploaded by

Sayan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views

Lecture Notes 12

Uploaded by

Sayan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

C/C++ Programming in a UNIX Environment

CS 3377

Bhanu Kapoor, PhD


Department of Computer Science
University of Texas, Dallas, TX
[email protected]

1
Reading for Week 9-10
 Chapter 12 of A Practical Guide to
Linux® Commands, Editors, and Shell
Programming, Third Edition. Mark G.
Sobell.
◼ Chapter 12: The Python Programming
Language

2
Agenda
 Functions in Python
 Python Project

3
Functions
 def mysum(x,y):
w=x+y
print (w)
return w
 This works both as code in file and on
evaluator
 If you don’t use correct indentation in
the evaluator then you need to put
semicolon!

4
Reuse Functions

 Function is a named sequence of


statements that perform some useful
operation. Functions may or may not
take parameters, and may or may not
return results.

Syntax:
def NAME( LIST OF PARAMETERS):
STATEMENTS
STATEMENTS

5
Using a Function

 You can cause a function to execute by


“calling” it as follows:
◼ functionName( Parameters)
 You can optionally assign any result that
the function returns to a variable using
the assignment operator:
◼ returnResult = functionName(Parameters)

6
Importance of Indentation
 A function is made up of two main parts, the
Header, and the Body.
 The function header consists of:
def funcName(param1,param2):
◼ def keyword, function name
◼ zero or more parameters, comma separated,
inside of parenthesis ()
◼ A colon :
 The function body consists of all statements
in the block that directly follows the header.
 A block is made up of statements that are at
the same indentation level.

7
Indentation leads to syntax error!
def findArea( ):
Radius = 10
pi = 3.1459
area = pi * Radius * Radius
print(area)
 You canot mix indentation levels within
the same block!
 The above code will result in a syntax
error!
 Parametrize functions when possible to
make them more generic

8
findArea function better example
def findArea( Radius ):
pi = 3.1459
area = pi * Radius * Radius
print( area)
 This function is parameterized
 This function will PRINT the area to the
screen, but will NOT return the value
pointed to by the area variable.
def findArea( Radius ):
pi = 3.1459
area = pi * Radius * Radius
return area

9
Keywords and Scope
 In Python, not all names are equal.
 Some names are reserved by the system and are
already defined. Examples are things like: def,
print, if, else, while, for, in, and, or, not, return.
These names are built in keywords.
 Names that are defined in a function are “local” to
that function.
 Names that are defined outside of a function are
“global” to the module.
 Local names overshadow global names when
inside the function that defined them.
 If you want to access a global variable from inside
of a function, you should declare it “global”.

10
Global vs Local
myVariable = 7
myParam = 20

def func1(myParam):
myVariable = 20
print(myParam)

func1(5)
print(myVariable)
 What gets printed?

11
Global vs Local
myVariable = 7
myParam = 20

def func1(myParam):
global myVariable
myVariable = 20
print(myParam)

func1(5)
print(myVariable)

 What gets printed?

12
Dictionaries in Python
 Hash or associative array
>>> tel {'sape': 4139, 'guido': 4127, 'jack': 4098}
>>> tel['jack']
4098
>>> del tel['sape']
>>> tel['irv'] = 4127
>>> tel
{'guido': 4127, 'irv': 4127, 'jack': 4098}
>>> list(tel.keys())
['irv', 'guido', 'jack']
>>> sorted(tel.keys())
['guido', 'irv', 'jack']
>>> 'guido' in tel
True
13
>>> 'jack' not in tel False
Random Numbers, Format
>>> import random
>>> random.random()
0.5543475553557455
>>> int(random.random()*100)
72
>>> import math
>>> print('The value of PI is approximately
{0:.3f}.'.format(math.pi))
The value of PI is approximately 3.142.
14
File IO
 open() returns a file object, and is most
commonly used with two
arguments: open(filename, mode).
 >>> f = open('workfile', 'w')
 Modes, ‘r’, ‘w’, ‘a’, ‘r+’ (both read and write)
 >>> f.read()
◼ 'This is the entire file.\n‘
 >>> f.readline()
◼ 'This is the first line of the file.\n‘
 >>> f.write('This is a test\n')
15
◼ 15 (number of characters written )
Python Course
 http://www.python-course.eu/index.php

16

You might also like