·CLASS

For example,

class Restaurant():    def __init__(self, restaurant_name, cuisine_type):#DO NOT FORGET __init__        self.name = restaurant_name        self.type = cuisine_type            def describe_restaurant(self):#DO NOT FORGET self        print("This restaurant's name is " + self.name + ".")        print("This restaurant's cuisine type is" + self.type + ".")        def open_restaurant(self):#DO NOT FORGET self        print("This restaurant is opening.") op_rest = Restaurant("Chinese Restaurant", "LUCAI")op_rest.describe_restaurant()op_rest.open_restaurant()

 

This is a good example to show how to use CLASS in python.

Just add some sentences as followed, that shows some ways to modify elements.

class Car():        def __init__(self, make, model, year):        """初始化描述汽车的属性"""        self.make = make        self.model = model        self.year = year        self.odometer_reading = 100            def get_descriptive_name(self):        long_name = str(self.year) + ' ' + self.make + ' ' + self.model        return long_name.title()        def read_odometer(self):        print("This car has " + str(self.odometer_reading) + " miles on it.")            def update_odometer(self, mileage):        if mileage >= self.odometer_reading:            self.odometer_reading = mileage        else:            print("Forrbideen")                def increment_odometer(self, miles):        self.odometer_reading += miles    my_car = Car('Toyota', 'GO9', 2017)print(my_car.get_descriptive_name())#my_car.odometer_reading = 100 #Direct assignmentyou = input("Please input the miles.\n")you = int(you)#my_car.update_odometer(you) #Modify value by methodmy_car.increment_odometer(you) #Adding by methodmy_car.read_odometer()

·        Inheritance

class Car():        def __init__(self, make, model, year):        """初始化描述汽车的属性"""        self.make = make        self.model = model        self.year = year            def get_descriptive_name(self):        long_name = str(self.year) + ' ' + self.make + ' ' + self.model        return long_name.title()             def fill_gas_tank(self):        print("ONLY ONE")        class ElectricCar(Car): #Define Inheritance    """电动汽车的独特之处"""    def __init__(self, make, model, year):        super().__init__(make, model, year)        self.battery_size = 70 #Adding a property            def describe_battery(self): #Adding a method        """打印一条描述电瓶容量的信息"""        print("This car has a " + str(self.battery_size) + "-KWh battery.")            def fill_gas_tank(self):#If the parent class has something that it do not need,     #just define a method and overwriting.        print("This car doesn't need a gas tank!") my_tesla = ElectricCar('tesla', 'model s', 2017)print(my_tesla.get_descriptive_name())my_tesla.describe_battery()my_tesla.fill_gas_tank()

o   In order to make codes more beautiful,put some properties that only electricCar has into a new class.

class Car():--snip-- class Battery(): #A new class, and not belong to class Car.    """一次模拟电动汽车电瓶的简单尝试"""    def __init__(self, battery_size=70):        """初始化电瓶的属性"""        self.battery_size = battery_size    def describe_battery(self):        """打印一条描述电瓶容量的消息"""        print("This car has a " + str(self.battery_size) + "-kWh battery.") class ElectricCar(Car):    """电动汽车的独特之处"""    def __init__(self, make, model, year):        """        初始化父类的属性,再初始化电动汽车特有的属性        """        super().__init__(make, model, year)        self.battery = Battery() my_tesla = ElectricCar('tesla', 'model s', 2016)print(my_tesla.get_descriptive_name())my_tesla.battery.describe_battery()#可以直接用my_tesla.来调用battery()里面的方法
  • Import Class:

    • Import       single class

#外面有一个car.py文件,里面有一个Car类from car import Car my_new_car = Car('audi', 'a4', 2016)print(my_new_car.get_descriptive_name())my_new_car.odometer_reading = 23my_new_car.read_odometer()
  • Import Many class in one module

#外面有一个car.py文件,里面有多个类,Car类,ElectricCar类from car import ElectricCar my_tesla = ElectricCar('tesla', 'model s', 2016)print(my_tesla.get_descriptive_name())my_tesla.battery.describe_battery()my_tesla.battery.get_range()

  • Import many class      from only one module

from car import Car, ElectricCar my_beetle = Car('volkswagen', 'beetle', 2016)print(my_beetle.get_descriptive_name())my_tesla = ElectricCar('tesla', 'roadster', 2016)print(my_tesla.get_descriptive_name())

  • Import all      module[RECOMMEND]

#外面有一个car.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())

  • Import all class      from module[NOT RECOMMEND]

from module_name import *