使用列表
例9.1 使用列表
#!/usr/bin/python
# Filename: using_list.py
# This is my shopping list
shoplist = [
'apple'
,
'mango'
,
'carrot'
,
'banana'
]
print
'I have'
,
len
(shoplist),
'items to purchase.'
print
'These items are:'
,
# Notice the comma at end of the line
for
item
in
shoplist:
print
item,
print
'\nI also have to buy
rice.'
shoplist.append(
'rice'
)
print
'My shopping list is
now'
, shoplist
print
'I will sort my list
now'
shoplist.sort()
print
'Sorted shopping list
is'
, shoplist
print
'The first item I will
buy is'
, shoplist[
0
]
olditem = shoplist[
0
]
del
shoplist[
0
]
print
'I bought the'
,
olditem
print
'My shopping list is
now'
, shoplist
(源文件:code/using_list.py)
输出
$ python using_list.py
I have 4 items to purchase.
These items are: apple mango carrot banana
I also have to buy rice.
My shopping list is now ['apple', 'mango', 'carrot', 'banana', 'rice']
I will sort my list now
Sorted shopping list is ['apple', 'banana', 'carrot', 'mango', 'rice']
The first item I will buy is apple
I bought the apple
My shopping list is now ['banana', 'carrot', 'mango', 'rice']
使用元组
例9.2 使用元组
#!/usr/bin/python
# Filename: using_tuple.py
zoo = (
'wolf'
,
'elephant'
,
'penguin'
)
print
'Number of animals in
the zoo is'
,
len
(zoo)
new_zoo = (
'monkey'
,
'dolphin'
, zoo)
print
'Number of animals in
the new zoo is'
,
len
(new_zoo)
print
'All animals in new
zoo are'
, new_zoo
print
'Animals brought from
old zoo are'
, new_zoo[
2
]
print
'Last animal brought
from old zoo is'
, new_zoo[
2
][
2
]
(源文件:code/using_tuple.py)
输出
$ python using_tuple.py
Number of animals in the zoo is 3
Number of animals in the new zoo is 3
All animals in new zoo are ('monkey', 'dolphin', ('wolf', 'elephant',
'penguin'))
Animals brought from old zoo are ('wolf', 'elephant', 'penguin')
Last animal brought from old zoo is penguin
使用字典
例9.4 使用字典
#!/usr/bin/python
# Filename: using_dict.py
# 'ab' is short for 'a'ddress'b'ook
ab = {
'Swaroop'
:
'swaroopch@byteofpython.info'
,
'Larry'
:
'larry@wall.org'
,
'Matsumoto'
:
'matz@ruby-lang.org'
,
'Spammer'
:
'spammer@hotmail.com'
}
print
"Swaroop's address is
%s"
% ab[
'Swaroop'
]
# Adding a key/value pair
ab[
'Guido'
] =
'guido@python.org'
# Deleting a key/value pair
del
ab[
'Spammer'
]
print
'\nThere are %d
contacts in the address-book\n'
%
len
(ab)
for
name, address
in
ab.items():
print
'Contact %s at %s'
% (name, address)
if
'Guido'
in
ab:
# OR
ab.has_key('Guido')
print
"\nGuido's address
is %s"
% ab[
'Guido'
]
(源文件:code/using_dict.py)
输出
$ python using_dict.py
Swaroop's address is swaroopch@byteofpython.info
There are 4 contacts in the address-book
Contact Swaroop at swaroopch@byteofpython.info
Contact Matsumoto at matz@ruby-lang.org
Contact Larry at larry@wall.org
Contact Guido at guido@python.org
Guido's address is guido@python.org
使用序列
例9.5 使用序列
#!/usr/bin/python
# Filename: seq.py
shoplist = [
'apple'
,
'mango'
,
'carrot'
,
'banana'
]
# Indexing or 'Subscription' operation
print
'Item 0 is'
,
shoplist[
0
]
print
'Item 1 is'
,
shoplist[
1
]
print
'Item 2 is'
,
shoplist[
2
]
print
'Item 3 is'
,
shoplist[
3
]
print
'Item -1 is'
,
shoplist[
-1
]
print
'Item -2 is'
,
shoplist[
-2
]
# Slicing on a list
print
'Item 1 to 3 is'
,
shoplist[
1
:
3
]
print
'Item 2 to end is'
,
shoplist[
2
:
]
print
'Item 1 to -1 is'
,
shoplist[
1
:
-1
]
print
'Item start to end is'
,
shoplist[:]
# Slicing on a string
name =
'swaroop'
print
'characters 1 to 3 is'
,
name[
1
:
3
]
print
'characters 2 to end
is'
, name[
2
:]
print
'characters 1 to -1
is'
, name[
1
:
-1
]
print
'characters start to
end is'
, name[:]
(源文件:code/seq.py)
输出
$ python seq.py
Item 0 is apple
Item 1 is mango
Item 2 is carrot
Item 3 is banana
Item -1 is banana
Item -2 is carrot
Item 1 to 3 is ['mango', 'carrot']
Item 2 to end is ['carrot', 'banana']
Item 1 to -1 is ['mango', 'carrot']
Item start to end is ['apple', 'mango', 'carrot', 'banana']
characters 1 to 3 is wa
characters 2 to end is aroop
characters 1 to -1 is waroo
characters start to end is swaroop
Create a python script----backup files into archives
#!/usr/bin/python
#Filename : backup.py
import os
import time
#source list
source = ['/Users/chengflandy/src/python','/Users/chengflandy/src/lsw/frontend/html']
#target directory
target_dir = "/Users/chengflandy/src/backup/"
#today is the name of the sub backup directory
today = target_dir + time.strftime("%Y%m%d")
#current time is the name of the zip archive
now = time.strftime("%H%M%S")
#take a comment fron the user to create the zp
comment = raw_input("Enter a comment for the archive->")
#create the subdirectory if not exists
if not os.path.exists(today):
os.mkdir(today)
print "Successfully created directory:",today
#the name of the zip file
if len(comment) == 0:
target = today+os.sep+now+".zip"
else:
target = today+os.sep+now+"_"+comment.replace(' ','_')+".zip"
#use the zip command to zip
zip_command = "zip -qr %s %s" % (target,' '.join(source))
#run the command
if os.system(zip_command) == 0:
print "Successful backup to ",target
else:
print "Back failed"
#Filename : backup.py
import os
import time
#source list
source = ['/Users/chengflandy/src/python','/Users/chengflandy/src/lsw/frontend/html']
#target directory
target_dir = "/Users/chengflandy/src/backup/"
#today is the name of the sub backup directory
today = target_dir + time.strftime("%Y%m%d")
#current time is the name of the zip archive
now = time.strftime("%H%M%S")
#take a comment fron the user to create the zp
comment = raw_input("Enter a comment for the archive->")
#create the subdirectory if not exists
if not os.path.exists(today):
os.mkdir(today)
print "Successfully created directory:",today
#the name of the zip file
if len(comment) == 0:
target = today+os.sep+now+".zip"
else:
target = today+os.sep+now+"_"+comment.replace(' ','_')+".zip"
#use the zip command to zip
zip_command = "zip -qr %s %s" % (target,' '.join(source))
#run the command
if os.system(zip_command) == 0:
print "Successful backup to ",target
else:
print "Back failed"
使用类与对象的变量
#!/usr/bin/python
# Filename: objvar.py
class Person:
'''Represents a person.'''
population = 0
def __init__(self, name):
'''Initializes the person's data.'''
self.name = name
print '(Initializing %s)' % self.name
# When this person is created, he/she
# adds to the population
Person.population += 1
def __del__(self):
'''I am dying.'''
print '%s says bye.' % self.name
Person.population -= 1
if Person.population == 0:
print 'I am the last one.'
else:
print 'There are still %d people left.' % Person.population
def sayHi(self):
'''Greeting by the person.
Really, that's all it does.'''
print 'Hi, my name is %s.' % self.name
def howMany(self):
'''Prints the current population.'''
if Person.population == 1:
print 'I am the only person here.'
else:
print 'We have %d persons here.' % Person.population
swaroop = Person('Swaroop')
swaroop.sayHi()
swaroop.howMany()
kalam = Person('Abdul Kalam')
kalam.sayHi()
kalam.howMany()
swaroop.sayHi()
swaroop.howMany()
# Filename: objvar.py
class Person:
'''Represents a person.'''
population = 0
def __init__(self, name):
'''Initializes the person's data.'''
self.name = name
print '(Initializing %s)' % self.name
# When this person is created, he/she
# adds to the population
Person.population += 1
def __del__(self):
'''I am dying.'''
print '%s says bye.' % self.name
Person.population -= 1
if Person.population == 0:
print 'I am the last one.'
else:
print 'There are still %d people left.' % Person.population
def sayHi(self):
'''Greeting by the person.
Really, that's all it does.'''
print 'Hi, my name is %s.' % self.name
def howMany(self):
'''Prints the current population.'''
if Person.population == 1:
print 'I am the only person here.'
else:
print 'We have %d persons here.' % Person.population
swaroop = Person('Swaroop')
swaroop.sayHi()
swaroop.howMany()
kalam = Person('Abdul Kalam')
kalam.sayHi()
kalam.howMany()
swaroop.sayHi()
swaroop.howMany()
使用继承
#!/usr/bin/python
# Filename: inherit.py
class SchoolMember:
'''Represents any school member.'''
def __init__(self, name, age):
self.name = name
self.age = age
print '(Initialized SchoolMember: %s)' % self.name
def tell(self):
'''Tell my details.'''
print 'Name:"%s" Age:"%s"' % (self.name, self.age),
class Teacher(SchoolMember):
'''Represents a teacher.'''
def __init__(self, name, age, salary):
SchoolMember.__init__(self, name, age)
self.salary = salary
print '(Initialized Teacher: %s)' % self.name
def tell(self):
SchoolMember.tell(self)
print 'Salary: "%d"' % self.salary
class Student(SchoolMember):
'''Represents a student.'''
def __init__(self, name, age, marks):
SchoolMember.__init__(self, name, age)
self.marks = marks
print '(Initialized Student: %s)' % self.name
def tell(self):
SchoolMember.tell(self)
print 'Marks: "%d"' % self.marks
t = Teacher('Mrs. Shrividya', 40, 30000)
s = Student('Swaroop', 22, 75)
print # prints a blank line
members = [t, s]
for member in members:
member.tell() # works for both Teachers and Students
prepare to learm input/output stream next time#!/usr/bin/python
# Filename: inherit.py
class SchoolMember:
'''Represents any school member.'''
def __init__(self, name, age):
self.name = name
self.age = age
print '(Initialized SchoolMember: %s)' % self.name
def tell(self):
'''Tell my details.'''
print 'Name:"%s" Age:"%s"' % (self.name, self.age),
class Teacher(SchoolMember):
'''Represents a teacher.'''
def __init__(self, name, age, salary):
SchoolMember.__init__(self, name, age)
self.salary = salary
print '(Initialized Teacher: %s)' % self.name
def tell(self):
SchoolMember.tell(self)
print 'Salary: "%d"' % self.salary
class Student(SchoolMember):
'''Represents a student.'''
def __init__(self, name, age, marks):
SchoolMember.__init__(self, name, age)
self.marks = marks
print '(Initialized Student: %s)' % self.name
def tell(self):
SchoolMember.tell(self)
print 'Marks: "%d"' % self.marks
t = Teacher('Mrs. Shrividya', 40, 30000)
s = Student('Swaroop', 22, 75)
print # prints a blank line
members = [t, s]
for member in members:
member.tell() # works for both Teachers and Students
# Filename: inherit.py
class SchoolMember:
'''Represents any school member.'''
def __init__(self, name, age):
self.name = name
self.age = age
print '(Initialized SchoolMember: %s)' % self.name
def tell(self):
'''Tell my details.'''
print 'Name:"%s" Age:"%s"' % (self.name, self.age),
class Teacher(SchoolMember):
'''Represents a teacher.'''
def __init__(self, name, age, salary):
SchoolMember.__init__(self, name, age)
self.salary = salary
print '(Initialized Teacher: %s)' % self.name
def tell(self):
SchoolMember.tell(self)
print 'Salary: "%d"' % self.salary
class Student(SchoolMember):
'''Represents a student.'''
def __init__(self, name, age, marks):
SchoolMember.__init__(self, name, age)
self.marks = marks
print '(Initialized Student: %s)' % self.name
def tell(self):
SchoolMember.tell(self)
print 'Marks: "%d"' % self.marks
t = Teacher('Mrs. Shrividya', 40, 30000)
s = Student('Swaroop', 22, 75)
print # prints a blank line
members = [t, s]
for member in members:
member.tell() # works for both Teachers and Students
http://linux.chinaitlab.com/manual/Python_chinese/ch12.html