Python学习笔记(7)
一、Python的类和面向对象编程先看一个例子:inventory.py文件# The Cellphone class holds data about a cell phone.#inventory.pyclass 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_pricep17.py文件import inventorydef 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: IBMEnter the model number: COOL123Enter the retail price:1050.50Hear is the data that you entered:Manufacturer: IBMModel Number: COOL123Retail 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 vehiclesdef 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