0
CS3430:Python & Perl
Lecture 01
Department of Computer Science
Utah State University
Outline
●
●

●
●
●
●
●

Course Overview
Python Overview: History, Features, Strengths,
Weaknesses
Installing Python on Win...
Schedule & Workload
●

Python – 10 weeks

●

Perl – 5 weeks

●

Two exams (dates in the syllabus)
Midterm 1: Python
 Midt...
Texts
Python Text 1
Python Text 2

Download free PDF version at http://greenteapress.com/thinkpython/thinkpython.html
Perl Text
Logistics
●
●

●

No emails on weekends please
Both exams will be online; you can take them anywhere you
want
Please turn ...
Class Attendance
●
●

●

Class attendance is completely optional
I know students who show up for every class and get C's a...
Python Overview
History, Features, Strengths, Weaknesses
History
●
●

●
●

●

Python is a general purpose programming language
Python is considered a scripting language but it is ...
Features
●
●

●
●
●

Dynamic typing
Automatic memory management (aka garbage
collection)
Support for large applications (s...
Strengths
●

Free

●

Portable

●

Easy to learn and use

●

Mixable
C/C++ programs can call Python programs
 Python can ...
Weakness
●

●

Python programs can run slower than their C/C++
counterparts
If and when this happens, you have to ask your...
Why not C++ for Everything?
Scripting languages represent a different set of tradeoffs
than system programming languages. ...
Python 2.X or Python 3.X
Python 2 or Python 3?
●

●

●

●

Python 2.X is the status quo, Python 3.x is the shiny new
thing
Python 3.X is the newest...
Python 2 or Python 3?
●

●

●

While Python 3.X is the same language, it is not
backward compatible to Python 2.X
The down...
Reasons to Prefer Python 2 over Python 3 (For Now)
1. If you are deploying to an environment you do not control.
2. If you...
Reasons to Prefer Python 2 over Python 3 (For Now)
4. A lot of documentation (including examples) on the web and in
refere...
Installing Python on
Windows/Linux/Mac OS
What We Will Use
●
●

●

We will use Python 2.7 in this class
If you are a Linux user, note that many versions of
Linux sh...
Installing Python
●
●

●

●

www.python.org is the site for everything that is Python.
On Windows, I use IDLE for executio...
Playing with Python
Python Interpreter
●

●

●

Python Interpreter is an interactive program that allows you to
work with Python source code w...
Python Interpreter
>>> print 'Hello, Python!'
Hello, Python!
>>> “Hello, Python!”
Hello, Python!
>>> 5
5
>>> 5 + 10
15
Comments
●
●

The hash mark character (#) introduces comments
# can appear at the beginning of a line or in the middle of ...
Variables
●

●
●

●

Since Python is a dynamically typed language, the types of
variables are not explicitly declared
A va...
●

●

Python has two Boolean values: True and False

Booleans

All Python values can be represented as Booleans: all numbe...
Factory Functions
●

Numeric types have factory functions that convert from one type to
another; For example:


>>> int('...
Lists, Strings, Tuples, Iterables
●

Lists: [1, 2, 'a']

●

Strings: 'Python', “Python”, “Djangon”

●

Tuples: ('a', 1), (...
Reading & References
●
●

●

www.python.org.
Ch. 01, M. L. HetLand. Beginning Python From Novice to
nd
Professional, ,2 Ed...
Upcoming SlideShare
Loading in...5
×

Python lecture 01

239

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
239
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Python lecture 01"

  1. 1. CS3430:Python & Perl Lecture 01 Department of Computer Science Utah State University
  2. 2. Outline ● ● ● ● ● ● ● Course Overview Python Overview: History, Features, Strengths, Weaknesses Installing Python on Windows/Linux/Mac OS Python 2.X or Python 3.X Playing with Python through its Interpreter Comments, Booleans, Variables, Lists, Strings, Tuples Built-in Functions and Methods
  3. 3. Schedule & Workload ● Python – 10 weeks ● Perl – 5 weeks ● Two exams (dates in the syllabus) Midterm 1: Python  Midterm 2: Python & Perl (mostly Perl) Regular weekly coding assignments  ● ● Final project (last 4 weeks)
  4. 4. Texts
  5. 5. Python Text 1
  6. 6. Python Text 2 Download free PDF version at http://greenteapress.com/thinkpython/thinkpython.html
  7. 7. Perl Text
  8. 8. Logistics ● ● ● No emails on weekends please Both exams will be online; you can take them anywhere you want Please turn off your cell phones in class
  9. 9. Class Attendance ● ● ● Class attendance is completely optional I know students who show up for every class and get C's and D's; I know students who show up for no class or just a few classes and ace all assignments, projects, and exams Do not waste your time showing up for class to do homework for other classes, read email, browse the web, chat with friends, play games, etc
  10. 10. Python Overview History, Features, Strengths, Weaknesses
  11. 11. History ● ● ● ● ● Python is a general purpose programming language Python is considered a scripting language but it is possible and practical to develop systems and executables Python was created by Guido van Rossum in the 1990's. Guido van Rossum is sometimes referred to as “Python's Benevolent Dictator for Life” (BDFL). The name “Python” comes from “Monty Python's Flying Circus.”
  12. 12. Features ● ● ● ● ● Dynamic typing Automatic memory management (aka garbage collection) Support for large applications (system programming) Numerous built-in tools and libraries Numerous 3rd party tools and libraries
  13. 13. Strengths ● Free ● Portable ● Easy to learn and use ● Mixable C/C++ programs can call Python programs  Python can link to C/C++ libraries Supports object-oriented programming  ●
  14. 14. Weakness ● ● Python programs can run slower than their C/C++ counterparts If and when this happens, you have to ask yourselves two questions:   Do I really need this for my particular application? In many cases, no! Can I port the bottleneck to C/C++? In many cases, yes!
  15. 15. Why not C++ for Everything? Scripting languages represent a different set of tradeoffs than system programming languages. They give up execution speed and strength of typing relative to system programming languages but provide significantly higher programmer productivity and software reuse. John K. Ousterhout, Creator of Tcl “Scripting: Higher Level Programming for the 21st Century” IEEE Computer magazine, March 1998 Full article: http://www.tcl.tk/doc/scripting.html
  16. 16. Python 2.X or Python 3.X
  17. 17. Python 2 or Python 3? ● ● ● ● Python 2.X is the status quo, Python 3.x is the shiny new thing Python 3.X is the newest branch of Python and the intended future of the language However, the broader Python 2.X ecosystem has amassed a significant amount of quality software over the years Insightful article on Python 2 vs. Python 3 on www.python.org
  18. 18. Python 2 or Python 3? ● ● ● While Python 3.X is the same language, it is not backward compatible to Python 2.X The downside of breaking backwards compatibility in 3.X is that a lot of that software does not work on 3.X yet; this transition will take time Python 3.X has relatively limited library support; many Linux distributions and Macs ship with 2.X
  19. 19. Reasons to Prefer Python 2 over Python 3 (For Now) 1. If you are deploying to an environment you do not control. 2. If you use a third party package that does not have a released Python 3 version. 3. If you want to use a third-party tool such as Python Image Library (PIL), Twisted (for networking), Django (for building websites), or py2exe (for packaging your application for Windows users)
  20. 20. Reasons to Prefer Python 2 over Python 3 (For Now) 4. A lot of documentation (including examples) on the web and in reference books will be for Python 2 for the near future 5. Most of us are inclined to seek help online. The Python regulars are typically seasoned developers who rely on legacy software, most of which has not been ported to Python 3 yet. As a result, they might not be able to help you with Python issues 6. It is always better to study the tool you are transitioning to and wait until it becomes accepted by the broader community.
  21. 21. Installing Python on Windows/Linux/Mac OS
  22. 22. What We Will Use ● ● ● We will use Python 2.7 in this class If you are a Linux user, note that many versions of Linux ship with 2.6.X If you are a Mac user, note that most Macs still ship with 2.6.X; check for the Mac distribution of 2.7
  23. 23. Installing Python ● ● ● ● www.python.org is the site for everything that is Python. On Windows, I use IDLE for execution and debugging and IDLE or Emacs for editing On Linux (Ubuntu), I use command line interpreters for execution and debugging and Emacs for editing. You may want to play with several choices and choose what you like best. It does not really matter which IDE you use. You will submit only the Python source files (.py) in your assignments
  24. 24. Playing with Python
  25. 25. Python Interpreter ● ● ● Python Interpreter is an interactive program that allows you to work with Python source code without having to create, edit, save, and compile source files As you read online materials or test, I suggest that you keep the Python interpreter window running and try code snippets right away Most Python IDEs make the Python interpreter easily available
  26. 26. Python Interpreter >>> print 'Hello, Python!' Hello, Python! >>> “Hello, Python!” Hello, Python! >>> 5 5 >>> 5 + 10 15
  27. 27. Comments ● ● The hash mark character (#) introduces comments # can appear at the beginning of a line or in the middle of a line ● The characters after # and upto n are part of a comment ● Examples:   # This is a comment x + y # add x and y
  28. 28. Variables ● ● ● ● Since Python is a dynamically typed language, the types of variables are not explicitly declared A variable can refer to an object of any legal Python type The type of a variable is determined at run time through the operations that are applied to the variable's value Examples:     >>> x = 1 # the value of x is integer 1 >>> x + 1 # is OK >>> x + 'bar' # is ERROR
  29. 29. ● ● Python has two Boolean values: True and False Booleans All Python values can be represented as Booleans: all numbers except 0 are True; all non-empty containers are True; all empty containers are False; For example:  >>> file_ready = False  >>> bool(file_ready) False  >>> bool(1) True  >>> bool([])  False
  30. 30. Factory Functions ● Numeric types have factory functions that convert from one type to another; For example:  >>> int('12') 12  >>> int(12.5) 12  >>> int('12.1') ERROR  >>> float('12.1') 12.1
  31. 31. Lists, Strings, Tuples, Iterables ● Lists: [1, 2, 'a'] ● Strings: 'Python', “Python”, “Djangon” ● Tuples: ('a', 1), (1, 2) ● Lists are mutable (support assignment) ● Strings and tuples are immutable ● Iterables are any objects that can be iterated through one item at a time
  32. 32. Reading & References ● ● ● www.python.org. Ch. 01, M. L. HetLand. Beginning Python From Novice to nd Professional, ,2 Ed., APRESS. H. Abelson and J. Sussman. Structure and Interpretation of Computer Programs, 2nd Ed., MIT Press.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×