1 创建Dog类
class Dog():
"""一次模拟小狗的简单尝试"""
def __init__(self,name,age):
"""初始化属性name和age"""
self.name = name
self.age = age
def sit(self):
"""模拟小狗被命令时蹲下"""
print(self.name.title() + " is now sitting")
def roll_over(self):
"""模拟小狗被命令时打滚"""
print(self.name.title() + " rolled over!")
每个类被创建时都会自动运行方法__init__()
2 访问属性,用类实例+句点+属性名
my_dog = Dog('willie',6)
print("My dog's name is " + my_dog.name.title())
print("My dog is "+str(my_dog.age)+" years old")
3 调用方法,也是用类实例+句点+函数名
my_dog = Dog('willie',6)
my_dog.sit()
my_dog.roll_over()
4 类有几个属性是在__init__()方法里定义好的,不是方法的形参,而是方法内出现的self.xxx
5 python支持类继承,先执行父类的__init__,再执行子类的__init__。
class Car():
def __init__(self,make,model,year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
class EletricCar(Car): # 继承Car类
def __init__(self,make,model,year):
super().__init__(make,model,year)
my_tesla = EletricCar('tesla','model s',2016)
print(my_tesla.get_descriptive_name())
- 创建子类时,父类必须包含再当前文件中,父类必须要在子类前面声明好
- 定义子类时,必须在括号内指定父类的名称
- super() 表示父类
6 重写父类的方法,即子类中定义一个与父类方法同名的方法
7 从一个模块中导入多个类,如from car import Car , EletricCar
本文介绍了如何在Python中定义Dog类,包括初始化属性和方法,以及类的实例化、属性访问和方法调用。随后深入讲解了类的继承,展示如何创建ElectricCar子类并重写父类方法。涵盖了面向对象编程的基础概念。
271

被折叠的 条评论
为什么被折叠?



