Transcript Document

Jason Clark
Overview
 Naming rules
 Scope
 Data types
 Expressions
 Assignments
 Control structures
 Object Orientation
 Other things that make Python cool
What is Python?
 Created by Guido van Rossum
 Named after Monty Python
 Inspired by ABC programming language
 Originally developed for the Ameba operating system
Compiled or Interpreted?
Interpreted
(although some would disagree)
Naming
Variables must begin with a letter or an underscore
Numbers can be used after the first letter
Variables are case sensitive
Reserved words can’t be used
Naming continued…
A variable’s data type is inferred from the
assignment statement.
Item_Name = “foo”
# a string
Item_Qty = 10
# an integer
Item_Value = 1000.23
# a floating point
Scope
Built-in names
Global
Local
Data Types
Numeric types
• Integer
• Floating point
• Complex
Boolean
String
Container types
• Tuple (a,b,c)
• Dictionary {a:b, c:d, e:f}
• List [a,b,c]
None
Expressions and Assignments
Expression precedence is similar to other languages
Comparison operators are similar to other languages
Supports coercion
Assignment operators are similar to other languages
Expressions and Assignments cont...
The ins and outs…
 Print allows users to output the value of the
requested string, integer, or other data type.
 Input allows users to input numbers and
Booleans, but raw_input has to be used to
allow users to input strings.
Control Structures
If/Else syntax
if condition:
print(value)
elif:
print(other value)
else:
print(other value)
(The while loop has similar syntax)
Control Structures cont…
The for loop iterates through a sequence.
Example of a for loop using the built-in range()
for i in range(10)):
statement(s)
The for loop will iterate through a numerical sequence
starting with 0 and ending with 9 in the previous example.
Python’s OOP
Class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
Employee.empCount += 1
def displayEmployee(self):
self.salary
print "Name : ", self.name,
", Salary: ",
Class instantiation uses function notation and the parameters of the __init__ method:
X = Employee(“Jason”,50000)
Attributes of the object can be accessed using the dot operator with the object:
X.displayEmployee()
Python’s OOP cont…
Overriding
methods
Overloading
operators
Inheritance
Python
OOP
Overloading
methods
Other Issues
Forces indentation to distinguish blocks
# is used for single line comment. “”” is used for
multiline comment
Concurrency is possible but very limited
Exception handling uses try/except instead of try/catch
Evaluation
Easy to use
High readability
Low writability
Open source
Questions?