This document provides an overview of the Python programming language. It covers topics such as syntax, types and objects, operators and expressions, functions, classes and object-oriented programming, modules and packages, input/output, and the Python execution environment. It also discusses generators and iterators versus regular functions, namespaces and scopes, and classes in Python.
A tour of Python: slides from presentation given in 2012.
[Some slides are not properly rendered in SlideShare: the original is still available at http://www.aleksa.org/2015/04/python-presentation_7.html.]
This document provides an overview of the Python programming language. It discusses that Python is a popular, object-oriented scripting language that emphasizes code readability. The document summarizes key Python features such as rapid development, automatic memory management, object-oriented programming, and embedding/extending with C. It also outlines common uses of Python and when it may not be suitable.
This document provides an introduction to the Python programming language. It covers basic Python concepts like data types, strings, data structures, classes, methods, exceptions, iterations, generators, and scopes. Python is described as an easy to learn, read, and use dynamic language with a large selection of stable libraries. It is presented as being much easier than bash scripts for building and maintaining complex system infrastructure.
The document discusses an R programming module that will cover getting started with R, data types and structures, control flow and functions, and scalability. It compares R to MATLAB and Python, describing their similarities as interactive shells for data manipulation but noting differences in popularity across fields and open-source availability. Base graphics and ggplot2 for data visualization are introduced. Sample datasets are also mentioned.
This document contains a presentation on self-learning modules in Python. It discusses:
1. Assigning modules to different students for learning.
2. Modules, packages, and libraries as different ways to reuse code in Python. A module is a file with the .py extension, a package is a folder containing modules, and a library is a collection of packages.
3. The Python standard library contains built-in functions and modules that are part of the Python installation. Common modules discussed include math, random, and urllib.
This document provides an introduction to Python programming through a series of exercises. It begins with definitions of Python and why it is useful. It then covers basic Python concepts like strings, lists, loops, functions and modules. The latter half provides 5 exercises to practice these concepts, such as printing messages, removing characters, using for loops and if/else statements, writing data to a JSON file, and generating stock data from an online API. The document aims to cover Python fundamentals in 90 minutes through hands-on learning.
Python Workshop - Learn Python the Hard WayUtkarsh Sengar
This document provides an introduction to learning Python. It discusses prerequisites for Python, basic Python concepts like variables, data types, operators, conditionals and loops. It also covers functions, files, classes and exceptions handling in Python. The document demonstrates these concepts through examples and exercises learners to practice char frequency counting and Caesar cipher encoding/decoding in Python. It encourages learners to practice more to master the language and provides additional learning resources.
This document provides an overview of the Python programming language. It begins with an introduction to why Python is a good choice. It then outlines a tutorial on Python's basic types like numbers, strings, lists, dictionaries, variables, control structures, functions, classes, modules, exceptions, and files. It encourages downloading the latest Python version and using the interactive shell or IDLE to experiment. The bulk of the document then provides details on Python's core concepts like numbers, strings, lists, dictionaries, tuples, variables, control structures, functions, classes, modules, exceptions, and files. It concludes by discussing new features in Python 2.0 and 2.1.
Functions allow programmers to organize and reuse code. There are three types of functions: built-in functions, modules, and user-defined functions. User-defined functions are created using the def keyword and can take parameters and arguments. Functions can return values and have different scopes depending on if a variable is local or global. Recursion is when a function calls itself, and is useful for breaking down complex problems into simpler sub-problems. Common recursive functions calculate factorials, Fibonacci numbers, and generate the Pascal's triangle.
In this presentation, You will get to know about Function Literal,Higher Order Function,Partial Function,Partial Applied Function,Nested Function,Closures.
This document discusses functions and methods in Python. It defines functions and methods, and explains the differences between them. It provides examples of defining and calling functions, returning values from functions, and passing arguments to functions. It also covers topics like local and global variables, function decorators, generators, modules, and lambda functions.
Python classes in mumbai
best Python classes in mumbai with job assistance.
our features are:
expert guidance by it industry professionals
lowest fees of 5000
practical exposure to handle projects
well equiped lab
after course resume writing guidance
GE8151 Problem Solving and Python ProgrammingMuthu Vinayagam
The document provides information about various Python concepts like print statement, variables, data types, operators, conditional statements, loops, functions, modules, exceptions, files and packages. It explains print statement syntax, how variables work in Python, built-in data types like numbers, strings, lists, dictionaries and tuples. It also discusses conditional statements like if-else, loops like while and for, functions, modules, exceptions, file handling operations and packages in Python.
The document provides an overview of the Python programming language. It discusses Python's history, how to install and run Python, basic data types like integers, floats, strings, lists, and tuples. It explains that lists are mutable while tuples are immutable. The document also covers topics like functions, modules, control flow, and the Python interpreter.
This document summarizes an event being organized by the Department of Computer Science Engineering and Department of Electronics and Instrumentation Engineering at Kamaraj College of Engineering and Technology. The event is called "TECHSHOW '19" and is aimed at +2 school students. It will take place on November 30th, 2019 and will include notes on Python programming, including topics like sequence containers, indexing, base types, and functions.
04_python_functions.ppt You can define functions to provide the required func...anaveenkumar4
You can define functions to provide the required functionality. Here are simple
rules to define a function in Python.
❖ Function blocks begin with the keyword def followed by the function name
and parentheses ( ).
❖ Any input parameters or arguments should be placed within these
parentheses. You can also define parameters inside these parentheses.
❖ The first statement of a function can be an optional statement - the
documentation string of the function or docstring.
❖ The code block within every function starts with a colon : and is indented.
❖ The statement return [expression] exits a function, optionally passing back
an expression to the caller. A return statement with no arguments is the
same as return None.
Clojure is a LISP-like programming language that runs on the Java Virtual Machine. It was created in 2007 by Rich Hickey and is currently at version 1.1. Clojure is a functional, immutable, and concurrency-oriented language. It features LISP syntax, macros, immutability, functional programming, and easy interoperability with Java. Data structures in Clojure are code, allowing homoiconicity. Clojure also supports lazy sequences, STM-based concurrency without locks, and dynamic behavior via its REPL.
This document provides an introduction to the Scala programming language. It discusses what Scala is, how to get started, basic concepts like mutability and functions, and Scala features like classes, traits, pattern matching, and collections. Scala combines object-oriented and functional programming. It runs on the Java Virtual Machine and is compatible with Java. The document provides code examples to demonstrate Scala concepts and features.
This document summarizes key aspects of iteration in Python based on the provided document:
1. Python supports multiple ways of iteration including for loops and generators. For loops are preferred for iteration over finite collections while generators enable infinite iteration.
2. Common iteration patterns include iterating over elements, indices, or both using enumerate(). Numerical iteration can be done with for loops or while loops.
3. Functions are first-class objects in Python and can be passed as arguments or returned as values, enabling functional programming patterns like mapping and filtering.
The document discusses properties in Python classes. Properties allow accessing attributes through normal attribute syntax, while allowing custom behavior through getter and setter methods. This avoids directly accessing attributes and allows for validation in setters. Properties are defined using the @property and @setter decorators, providing a cleaner syntax than regular getter/setter methods. They behave like regular attributes but allow underlying method calls.
This document provides an introduction to the Python programming language. It outlines key topics like why use Python, running Python code, data types and operators, basic statements like if/while/for loops, functions, and examples of simple Python programs. It also discusses common industry applications of Python like web development, scientific applications, databases, and education. Major companies that use Python extensively are listed, such as Google, NASA, Industrial Light & Magic, Yahoo, and RedHat.
(How) can we benefit from adopting scala?Tomasz Wrobel
Scala offers benefits from adopting it such as increased productivity through concise and expressive code, static typing with type inference, support for both object-oriented and functional programming paradigms, and interoperability with Java. Switching from Java to Scala involves some changes like using val for immutable variables and var for mutable, but overall the syntax is quite similar which eases the transition.
Impurities of Water and their Significance.pptxdhanashree78
Impart Taste, Odour, Colour, and Turbidity to water.
Presence of organic matter or industrial wastes or microorganisms (algae) imparts taste and odour to water.
Presence of suspended and colloidal matter imparts turbidity to water.
Python Workshop - Learn Python the Hard WayUtkarsh Sengar
This document provides an introduction to learning Python. It discusses prerequisites for Python, basic Python concepts like variables, data types, operators, conditionals and loops. It also covers functions, files, classes and exceptions handling in Python. The document demonstrates these concepts through examples and exercises learners to practice char frequency counting and Caesar cipher encoding/decoding in Python. It encourages learners to practice more to master the language and provides additional learning resources.
This document provides an overview of the Python programming language. It begins with an introduction to why Python is a good choice. It then outlines a tutorial on Python's basic types like numbers, strings, lists, dictionaries, variables, control structures, functions, classes, modules, exceptions, and files. It encourages downloading the latest Python version and using the interactive shell or IDLE to experiment. The bulk of the document then provides details on Python's core concepts like numbers, strings, lists, dictionaries, tuples, variables, control structures, functions, classes, modules, exceptions, and files. It concludes by discussing new features in Python 2.0 and 2.1.
Functions allow programmers to organize and reuse code. There are three types of functions: built-in functions, modules, and user-defined functions. User-defined functions are created using the def keyword and can take parameters and arguments. Functions can return values and have different scopes depending on if a variable is local or global. Recursion is when a function calls itself, and is useful for breaking down complex problems into simpler sub-problems. Common recursive functions calculate factorials, Fibonacci numbers, and generate the Pascal's triangle.
In this presentation, You will get to know about Function Literal,Higher Order Function,Partial Function,Partial Applied Function,Nested Function,Closures.
This document discusses functions and methods in Python. It defines functions and methods, and explains the differences between them. It provides examples of defining and calling functions, returning values from functions, and passing arguments to functions. It also covers topics like local and global variables, function decorators, generators, modules, and lambda functions.
Python classes in mumbai
best Python classes in mumbai with job assistance.
our features are:
expert guidance by it industry professionals
lowest fees of 5000
practical exposure to handle projects
well equiped lab
after course resume writing guidance
GE8151 Problem Solving and Python ProgrammingMuthu Vinayagam
The document provides information about various Python concepts like print statement, variables, data types, operators, conditional statements, loops, functions, modules, exceptions, files and packages. It explains print statement syntax, how variables work in Python, built-in data types like numbers, strings, lists, dictionaries and tuples. It also discusses conditional statements like if-else, loops like while and for, functions, modules, exceptions, file handling operations and packages in Python.
The document provides an overview of the Python programming language. It discusses Python's history, how to install and run Python, basic data types like integers, floats, strings, lists, and tuples. It explains that lists are mutable while tuples are immutable. The document also covers topics like functions, modules, control flow, and the Python interpreter.
This document summarizes an event being organized by the Department of Computer Science Engineering and Department of Electronics and Instrumentation Engineering at Kamaraj College of Engineering and Technology. The event is called "TECHSHOW '19" and is aimed at +2 school students. It will take place on November 30th, 2019 and will include notes on Python programming, including topics like sequence containers, indexing, base types, and functions.
04_python_functions.ppt You can define functions to provide the required func...anaveenkumar4
You can define functions to provide the required functionality. Here are simple
rules to define a function in Python.
❖ Function blocks begin with the keyword def followed by the function name
and parentheses ( ).
❖ Any input parameters or arguments should be placed within these
parentheses. You can also define parameters inside these parentheses.
❖ The first statement of a function can be an optional statement - the
documentation string of the function or docstring.
❖ The code block within every function starts with a colon : and is indented.
❖ The statement return [expression] exits a function, optionally passing back
an expression to the caller. A return statement with no arguments is the
same as return None.
Clojure is a LISP-like programming language that runs on the Java Virtual Machine. It was created in 2007 by Rich Hickey and is currently at version 1.1. Clojure is a functional, immutable, and concurrency-oriented language. It features LISP syntax, macros, immutability, functional programming, and easy interoperability with Java. Data structures in Clojure are code, allowing homoiconicity. Clojure also supports lazy sequences, STM-based concurrency without locks, and dynamic behavior via its REPL.
This document provides an introduction to the Scala programming language. It discusses what Scala is, how to get started, basic concepts like mutability and functions, and Scala features like classes, traits, pattern matching, and collections. Scala combines object-oriented and functional programming. It runs on the Java Virtual Machine and is compatible with Java. The document provides code examples to demonstrate Scala concepts and features.
This document summarizes key aspects of iteration in Python based on the provided document:
1. Python supports multiple ways of iteration including for loops and generators. For loops are preferred for iteration over finite collections while generators enable infinite iteration.
2. Common iteration patterns include iterating over elements, indices, or both using enumerate(). Numerical iteration can be done with for loops or while loops.
3. Functions are first-class objects in Python and can be passed as arguments or returned as values, enabling functional programming patterns like mapping and filtering.
The document discusses properties in Python classes. Properties allow accessing attributes through normal attribute syntax, while allowing custom behavior through getter and setter methods. This avoids directly accessing attributes and allows for validation in setters. Properties are defined using the @property and @setter decorators, providing a cleaner syntax than regular getter/setter methods. They behave like regular attributes but allow underlying method calls.
This document provides an introduction to the Python programming language. It outlines key topics like why use Python, running Python code, data types and operators, basic statements like if/while/for loops, functions, and examples of simple Python programs. It also discusses common industry applications of Python like web development, scientific applications, databases, and education. Major companies that use Python extensively are listed, such as Google, NASA, Industrial Light & Magic, Yahoo, and RedHat.
(How) can we benefit from adopting scala?Tomasz Wrobel
Scala offers benefits from adopting it such as increased productivity through concise and expressive code, static typing with type inference, support for both object-oriented and functional programming paradigms, and interoperability with Java. Switching from Java to Scala involves some changes like using val for immutable variables and var for mutable, but overall the syntax is quite similar which eases the transition.
Impurities of Water and their Significance.pptxdhanashree78
Impart Taste, Odour, Colour, and Turbidity to water.
Presence of organic matter or industrial wastes or microorganisms (algae) imparts taste and odour to water.
Presence of suspended and colloidal matter imparts turbidity to water.
Top Cite Articles- International Journal on Soft Computing, Artificial Intell...ijscai
International Journal on Soft Computing, Artificial Intelligence and Applications (IJSCAI) is an open access peer-reviewed journal that provides an excellent international forum for sharing knowledge and results in theory, methodology and applications of Artificial Intelligence, Soft Computing. The Journal looks for significant contributions to all major fields of the Artificial Intelligence, Soft Computing in theoretical and practical aspects. The aim of the Journal is to provide a platform to the researchers and practitioners from both academia as well as industry to meet and share cutting-edge development in the field.
This presentation highlights project development using software development life cycle (SDLC) with a major focus on incorporating research in the design phase to develop innovative solution. Some case-studies are also highlighted which makes the reader to understand the different phases with practical examples.
本資料「To CoT or not to CoT?」では、大規模言語モデルにおけるChain of Thought(CoT)プロンプトの効果について詳しく解説しています。
CoTはあらゆるタスクに効く万能な手法ではなく、特に数学的・論理的・アルゴリズム的な推論を伴う課題で高い効果を発揮することが実験から示されています。
一方で、常識や一般知識を問う問題に対しては効果が限定的であることも明らかになりました。
複雑な問題を段階的に分解・実行する「計画と実行」のプロセスにおいて、CoTの強みが活かされる点も注目ポイントです。
This presentation explores when Chain of Thought (CoT) prompting is truly effective in large language models.
The findings show that CoT significantly improves performance on tasks involving mathematical or logical reasoning, while its impact is limited on general knowledge or commonsense tasks.
WIRELESS COMMUNICATION SECURITY AND IT’S PROTECTION METHODSsamueljackson3773
In this paper, the author discusses the concerns of using various wireless communications and how to use
them safely. The author also discusses the future of the wireless industry, wireless communication
security, protection methods, and techniques that could help organizations establish a secure wireless
connection with their employees. The author also discusses other essential factors to learn and note when
manufacturing, selling, or using wireless networks and wireless communication systems.
This document provides information about the Fifth edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
2. Uses of Python
shell tools
system admin tools, command line programs
extension-language work
rapid prototyping and development
language-based modules
instead of special-purpose parsers
graphical user interfaces
database access
distributed programming
Internet scripting
3. Basic operations
Assignment:
size = 40
a = b = c = 3
Numbers
integer, float
complex numbers: 1j+3, abs(z)
Strings
'hello world', 'it's hot'
"bye world"
continuation via or use """ long text """"
4. String operations
concatenate with + or neighbors
word = 'Help' + x
word = 'Help' 'a'
subscripting of strings
'Hello'[2] 'l'
slice: 'Hello'[1:2] 'el'
word[-1] last character
len(word) 5
immutable: cannot assign to subscript
5. Lists
lists can be heterogeneous
a = ['spam', 'eggs', 100, 1234, 2*2]
Lists can be indexed and sliced:
a[0] spam
a[:2] ['spam', 'eggs']
Lists can be manipulated
a[2] = a[2] + 23
a[0:2] = [1,12]
a[0:0] = []
len(a) 5
6. Basic programming
a,b = 0, 1
# non-zero = true
while b < 10:
# formatted output, without
n
print b,
# multiple assignment
a,b = b, a+b
7. Control flow: if
x = int(raw_input("Please enter #:"))
if x < 0:
x = 0
print 'Negative changed to zero'
elif x == 0:
print 'Zero'
elif x == 1:
print 'Single'
else:
print 'More'
no case statement
8. Control flow: for
a = ['cat', 'window', 'defenestrate']
for x in a:
print x, len(x)
no arithmetic progression, but
range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8,
9]
for i in range(len(a)):
print i, a[i]
do not modify the sequence being
iterated over
9. Loops: break, continue, else
break and continue like C
else after loop exhaustion
for n in range(2,10):
for x in range(2,n):
if n % x == 0:
print n, 'equals', x, '*', n/x
break
else:
# loop fell through without finding a
factor
print n, 'is prime'
10. Defining functions
def fib(n):
"""Print a Fibonacci series up to n."""
a, b = 0, 1
while b < n:
print b,
a, b = b, a+b
>>> fib(2000)
First line is docstring
first look for variables in local, then global
need global to assign global variables
11. Functions: default argument
values
def ask_ok(prompt, retries=4,
complaint='Yes or no, please!'):
while 1:
ok = raw_input(prompt)
if ok in ('y', 'ye', 'yes'): return 1
if ok in ('n', 'no'): return 0
retries = retries - 1
if retries < 0: raise IOError,
'refusenik error'
print complaint
>>> ask_ok('Really?')
12. Keyword arguments
last arguments can be given as keywords
def parrot(voltage, state='a stiff', action='voom',
type='Norwegian blue'):
print "-- This parrot wouldn't", action,
print "if you put", voltage, "Volts through it."
print "Lovely plumage, the ", type
print "-- It's", state, "!"
parrot(1000)
parrot(action='VOOOM', voltage=100000)
13. Lambda forms
anonymous functions
may not work in older versions
def make_incrementor(n):
return lambda x: x + n
f = make_incrementor(42)
f(0)
f(1)
14. List methods
append(x)
extend(L)
append all items in list (like Tcl lappend)
insert(i,x)
remove(x)
pop([i]), pop()
create stack (FIFO), or queue (LIFO) pop(0)
index(x)
return the index for value x
15. List methods
count(x)
how many times x appears in list
sort()
sort items in place
reverse()
reverse list
16. Functional programming tools
filter(function, sequence)
def f(x): return x%2 != 0 and x%3 0
filter(f, range(2,25))
map(function, sequence)
call function for each item
return list of return values
reduce(function, sequence)
return a single value
call binary function on the first two items
then on the result and next item
iterate
17. List comprehensions (2.0)
Create lists without map(), filter(), lambda
= expression followed by for clause + zero or more for or
of clauses
>>> vec = [2,4,6]
>>> [3*x for x in vec]
[6, 12, 18]
>>> [{x: x**2} for x in vec}
[{2: 4}, {4: 16}, {6: 36}]
18. List comprehensions
cross products:
>>> vec1 = [2,4,6]
>>> vec2 = [4,3,-9]
>>> [x*y for x in vec1 for y in vec2]
[8,6,-18, 16,12,-36, 24,18,-54]
>>> [x+y for x in vec1 and y in vec2]
[6,5,-7,8,7,-5,10,9,-3]
>>> [vec1[i]*vec2[i] for i in
range(len(vec1))]
[8,12,-54]
19. List comprehensions
can also use if:
>>> [3*x for x in vec if x >
3]
[12, 18]
>>> [3*x for x in vec if x <
2]
[]
20. del – removing list items
remove by index, not value
remove slices from list (rather than by
assigning an empty list)
>>> a = [-1,1,66.6,333,333,1234.5]
>>> del a[0]
>>> a
[1,66.6,333,333,1234.5]
>>> del a[2:4]
>>> a
[1,66.6,1234.5]
21. Tuples and sequences
lists, strings, tuples: examples of sequence type
tuple = values separated by commas
>>> t = 123, 543, 'bar'
>>> t[0]
123
>>> t
(123, 543, 'bar')
22. Tuples
Tuples may be nested
>>> u = t, (1,2)
>>> u
((123, 542, 'bar'), (1,2))
kind of like structs, but no element
names:
(x,y) coordinates
database records
like strings, immutable can't assign to
individual items
24. Tuples
sequence unpacking distribute elements across
variables
>>> t = 123, 543, 'bar'
>>> x, y, z = t
>>> x
123
packing always creates tuple
unpacking works for any sequence
25. Dictionaries
like Tcl or awk associative arrays
indexed by keys
keys are any immutable type: e.g., tuples
but not lists (mutable!)
uses 'key: value' notation
>>> tel = {'hgs' : 7042, 'lennox': 7018}
>>> tel['cs'] = 7000
>>> tel
26. Dictionaries
no particular order
delete elements with del
>>> del tel['foo']
keys() method unsorted list of keys
>>> tel.keys()
['cs', 'lennox', 'hgs']
use has_key() to check for existence
>>> tel.has_key('foo')
0
27. Conditions
can check for sequence membership
with is and is not:
>>> if (4 in vec):
... print '4 is'
chained comparisons: a less than b
AND b equals c:
a < b == c
and and or are short-circuit operators:
evaluated from left to right
stop evaluation as soon as outcome clear
28. Conditions
Can assign comparison to variable:
>>> s1,s2,s3='', 'foo', 'bar'
>>> non_null = s1 or s2 or s3
>>> non_null
foo
Unlike C, no assignment within expression
30. Modules
collection of functions and variables, typically in scripts
definitions can be imported
file name is module name + .py
e.g., create module fibo.py
def fib(n): # write Fib. series up to n
...
def fib2(n): # return Fib. series up to n
31. Modules
import module:
import fibo
Use modules via "name space":
>>> fibo.fib(1000)
>>> fibo.__name__
'fibo'
can give it a local name:
>>> fib = fibo.fib
>>> fib(500)
32. Modules
function definition + executable
statements
executed only when module is imported
modules have private symbol tables
avoids name clash for global variables
accessible as module.globalname
can import into name space:
>>> from fibo import fib, fib2
>>> fib(500)
can import all names defined by module:
>>> from fibo import *
33. Module search path
current directory
list of directories specified in PYTHONPATH
environment variable
uses installation-default if not defined,
e.g., .:/usr/local/lib/python
uses sys.path
>>> import sys
>>> sys.path
['', 'C:PROGRA~1Python2.2', 'C:Program Files
Python2.2DLLs', 'C:Program FilesPython2.2lib', 'C:
Program FilesPython2.2liblib-tk', 'C:Program Files
Python2.2', 'C:Program FilesPython2.2libsite-
packages']
34. Classes
mixture of C++ and Modula-3
multiple base classes
derived class can override any methods of
its base class(es)
method can call the method of a base
class with the same name
objects have private data
C++ terms:
all class members are public
all member functions are virtual
no constructors or destructors (not needed)
35. Classes
classes (and data types) are objects
built-in types cannot be used as base classes by user
arithmetic operators, subscripting can be redefined for
class instances (like C++, unlike Java)
37. Namespaces
mapping from name to object:
built-in names (abs())
global names in module
local names in function invocation
attributes = any following a dot
z.real, z.imag
attributes read-only or writable
module attributes are writeable
38. Namespaces
scope = textual region of Python program
where a namespace is directly accessible
(without dot)
innermost scope (first) = local names
middle scope = current module's global names
outermost scope (last) = built-in names
assignments always affect innermost
scope
don't copy, just create name bindings to
objects
global indicates name is in global scope
39. Class objects
obj.name references (plus module!):
class MyClass:
"A simple example class"
i = 123
def f(self):
return 'hello world'
>>> MyClass.i
123
MyClass.f is method object
40. Class objects
class instantiation:
>>> x = MyClass()
>>> x.f()
'hello world'
creates new instance of class
note x = MyClass vs. x = MyClass()
___init__() special method for
initialization of object
def __init__(self,realpart,imagpart):
self.r = realpart
self.i = imagpart
41. Instance objects
attribute references
data attributes (C++/Java data members)
created dynamically
x.counter = 1
while x.counter < 10:
x.counter = x.counter * 2
print x.counter
del x.counter
42. Method objects
Called immediately:
x.f()
can be referenced:
xf = x.f
while 1:
print xf()
object is passed as first argument of function 'self'
x.f() is equivalent to MyClass.f(x)
45. Private variables
No real support, but textual replacement (name
mangling)
__var is replaced by _classname_var
prevents only accidental modification, not true
protection
47. Handling exceptions
while 1:
try:
x = int(raw_input("Please enter a number: "))
break
except ValueError:
print "Not a valid number"
First, execute try clause
if no exception, skip except clause
if exception, skip rest of try clause and use
except clause
if no matching exception, attempt outer try
statement
48. Handling exceptions
try.py
import sys
for arg in sys.argv[1:]:
try:
f = open(arg, 'r')
except IOError:
print 'cannot open', arg
else:
print arg, 'lines:',
len(f.readlines())
f.close
e.g., as python try.py *.py