Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4025068
  • 博文数量: 626
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 11080
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-23 13:08
文章分类

全部博文(626)

文章存档

2015年(72)

2014年(48)

2013年(506)

分类: Python/Ruby

2013-09-29 10:18:56

Python学习笔记(7)



一、Python的类和面向对象编程
先看一个例子:
inventory.py文件
# The Cellphone class holds data about a cell phone.
#inventory.py
class CellPhone:
  def __init__(self,manufact,model,price):
  self.__manufact = manufact
  self.__model = model
  self.__retail_price = price
  def set_manufact(self,manufact):
  self.__manufact = manufact
  def set_model(self,model):
  self.__model = model
  def set_retail_price(self, price):
  self.__retail_price = price
  def get_manufact(self):
  return self.__manufact
  def get_model(self):
  return self.__model
  def get_retail_price(self):
  return self.__retail_price

p17.py文件
import inventory
def main():
  man = raw_input('Enter the manufacturer: ')
  mod = raw_input('Enter the model number: ')
  retail = input('Enter the retail price:')
  phone = inventory.CellPhone(man, mod, retail)
   
  print 'Hear is the data that you entered:'
  print 'Manufacturer:',phone.get_manufact()
  print 'Model Number:',phone.get_model()
  print 'Retail Price: $%.2f' %phone.get_retail_price()
main()

运行结果:
Enter the manufacturer: IBM
Enter the model number: COOL123
Enter the retail price:1050.50
Hear is the data that you entered:
Manufacturer: IBM
Model Number: COOL123
Retail Price: $1050.50

把类中的属性作为私有数据,只能通过访问器进行访问和修改,这是一种非常安全的方法。


二、Python的类继承
Python允许一个新类继承已有的类。
例:
vehicles.py文件
# vehicles.py
# The Automobile class holds general data about an automobile in inventory.
class Automobile:
  def __init__(self,make,model,mileage,price):
  self.__make = make
  self.__model = model
  self.__mileage = mileage
  self.__price = price
  def set_make(self, make):
  self.__make = make
  def set_model(self, model):
  self.__model = model
  def set_mileage(self, mileage):
  self.__mileage = mileage
  def set_price(self, price):
  self.__price = price
   
  def get_make(self):
  return self.__make
  def get_model(self):
  return self.__model
  def get_mileage(self):
  return self.__mileage
  def get_price(self):
  return self.__price
   
class Car(Automobile):
  def __init__(self,make,model,mileage,price,doors):
  Automobile.__init__(self,make,model,mileage,price)
  self.__doors = doors
  def set_doors(self, doors):
  self.__doors = doors
  def get_doors(self):
  return self.__doors
   
p18.py文件
# The Car class represents a car. It is a subclass of the Automobile class.
import vehicles

def main():
  used_car = vehicles.Car('Audi',2007,12500,21500.00,4)
  print 'Make:',used_car.get_make()
  print 'Model:',used_car.get_model()
  print 'Mileage:',used_car.get_mileage()
  print 'Price:',used_car.get_price()
  print 'Number of doors:',used_car.get_doors()
main()

运行结果:

Make: Audi
Model: 2007
Mileage: 12500
Price: 21500.0
Number of doors: 4

阅读(930) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~