1. 类的定义
Car类
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()
Car类不带(),所以默认继承object
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()
Car类在()中未指明特定的父类,所以默认继承object
class Car(object):
"""一次模拟汽车的简单尝试"""
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()
Car类在()中指明继承object
Car, Car(), Car(object)三种类的创建方法是相等的!!!
ElectricCar类
class ElectricCar(Car):
"""电动汽车的独特之处"""
def __init__(self, make, model, year):
"""初始化父类的属性"""
super().__init__(make, model, year)
def describe_battery(self):
"""打印一条描述电瓶容量的消息"""
print("This car has a " + str(self.battery_size) + "-kWh battery.")
ElectricCar类在()中指明了继承了Car类,如此Car所包含的方法在ElectricCar中同样可以使用。
2. 类的调用
调用Car(),为创建实例或创建对象
my_car = Car()
调用car,为赋值
my_car = Car
3. 类中方法的调用
函数不带括号时,调用的是函数本身,是整个函数体,是一个函数对象,不需要等待函数执行完成
my_car = Car('audi', 'a4', 2016)
print(my_car.get_descriptive_name)
"""
输出:
<bound method Car.get_descriptive_name of <__main__.Car object at 0x000002106573BEB0>>
"""
函数带括号时,调用的是函数的执行结果,需等待函数执行完毕的结果
my_car = Car('audi', 'a4', 2016)
print(my_car.get_descriptive_name())
"""
输出:
2016 Audi A4
"""
个人水平有限,如有整理不正确的地方欢迎大家指正。