9.4.4 导入整个模块

以导入整个模块,再使用句点表示法访问需要的类。这种导入方法很简单,代码也易于阅读。由于创建类实例的代码都包含模块名,因此不会与当前文件使用的任何名称发生冲突。

main.py


9.4.4 导入整个模块_第1张图片
9.4.4 导入整个模块_第2张图片


最后car.py的代码:

"""A class that can be used to represent a car."""

class Car():

"""A simple attempt to represent a car."""

def __init__(self, manufacturer, model, year):

"""Initialize attributes to describe a car."""

self.manufacturer = manufacturer

self.model = model

self.year = year

self.odometer_reading = 0

def get_descriptive_name(self):

"""Return a neatly formatted descriptive name."""

long_name = str(self.year) + ' ' + self.manufacturer + ' ' + self.model

return long_name.title()

def read_odometer(self):

"""Print a statement showing the car's mileage."""

print("This car has " + str(self.odometer_reading) + " miles on it.")

def update_odometer(self, mileage):

"""

Set the odometer reading to the given value.

Reject the change if it attempts to roll the odometer back.

"""

if mileage >= self.odometer_reading:

self.odometer_reading = mileage

else:

print("You can't roll back an odometer!")

def increment_odometer(self, miles):

"""Add the given amount to the odometer reading."""

self.odometer_reading += miles

class ElectricCar(Car):

"""Models aspects of a car, specific to electric vehicles."""

def __init__(self, manufacturer, model, year):

"""

Initialize attributes of the parent class.

Then initialize attributes specific to an electric car.

"""

super(ElectricCar,self).__init__(manufacturer, model, year)

self.battery = Battery()


main.py的代码:

import car

my_beetle = car.Car('volkswagen', 'beetle', 2016)

print(my_beetle.get_descriptive_name())

my_tesla = car.ElectricCar('tesla', 'roadster', 2016)

#print(my_tesla.get_descriptive_name())

你可能感兴趣的:(9.4.4 导入整个模块)