1#9第九节类23#好,我猜读者的第一个灵魂拷问就是:类是什么?4#顾名思义,类就是具有相同特征的东西的集合。5#比如手机,他有很多种类,但是都可以打电话,听音乐,玩游戏...6#那我们就把能实现这些功能的电子产品统一称为手机。7#这就是一个类。89#第二个灵魂拷问,我们为什么要创建类这个概念?10#当我们告诉Python这个东西属于我们定义好的一个类时,11#Python就会自动将所有相关的属性赋予这个东西。12#这样可以极大的简化我们的代码。#1创建一个简单的类16#在命名上,首字母需要大写。17#后面的括号就说明我们是从一个空白类开始编写的。18classDog():19简单的小狗类20def__init__(self,name,age):#这里只用写个性的特征。21在这里写下小狗拥有的东西22self.name=name23self.age=agedefsit(self):26我们可以命令小狗坐下27print(self.name.title()+现在已经坐下啦!)defroll_over(self):30我们命令小狗打滚31print(self.name.title()+现在正在打滚!)#上面就包含了类的基本结构。34#init是初始化部分,也就是说所有的小狗都有要名字和年龄。35#sit和roll_over是我们给予小狗的动作。36#下面我们看下怎么用。my_dog=Dog(huanhuan,5)39print(我小狗的名字是+my_dog.name.title()+.)40print(我的小狗今年+str(my_dog.age)+岁了。)41my_dog.sit()42my_dog.roll_over()43#输出结果如下:44#我小狗的名字是Huanhuan.45#我的小狗今年5岁了。46#Huanhuan现在已经坐下啦!47#Huanhuan现在正在打滚!#2一个更具体的例子classCar():53小汽车的类def__init__(self,make,model,year):56初始化小汽车的属性57self.make=make58self.model=model59self.year=year60self.odomter_reading=0#设置一个有默认值的参数。defget_descriptive_name(self):63关于小汽车的介绍64long_name=str(品牌:+self.make+65\n型号:+self.model+66\n生产年份:+str(self.year)67)68returnlong_namedefread_odometer(self):71读取汽车里程数72print(这台小汽车开了+73str(self.odomter_reading)+74公里。)defincrement_odometer(self,mileage):7778更新里程数据,这里要填写里程的增加值。79并设置防止恶意回拨机制。8081ifmileage=0:82self.odomter_reading+=mileage83else:84print(里程数不能为负,请重新输入!)my_car=Car(大众,朗逸,)#传入一辆车的信息。print(my_car.get_descriptive_name())#打印汽车基本信息。90#品牌:大众91#型号:朗逸92#生产年份:93my_car.read_odometer()#打印里程信息。94#这台小汽车开了0公里。95my_car.increment_odometer(23)#小汽车的历程增加了23公里。96my_car.read_odometer()#再次尝试打印。97#这台小汽车开了23公里。#3子类#这是大类的一个细分类。子类包含一些特有的特征。#下面我们就建立一个汽车的子类,电动汽车。classElectricCar(Car):#括号里注明父类电动车特有的特征def__init__(self,make,model,year):继承父类的基本信息,并添加特有信息super().__init__(make,model,year)self.battery_size=defdescribe_battery(self):打印电瓶信息print(电车的电池容量为:+str(self.battery_size)+千瓦时。)my_tesla=ElectricCar(特斯拉,model_Y,)print(my_tesla.get_descriptive_name())#打印电动车基本信息。#品牌:特斯拉#型号:model_Y#生产年份:124my_tesla.describe_battery()#打印电动车特有属性。#电车的电池容量为:70千瓦时。#4使类变的更简洁的方法#当我们发现描述电动车电池的特征越来越多的时候,为了使类看的更加简洁。#我们可以把电池单独建立类,再把电池作为电动车的一个初始属性。classBattery():关于电池的信息def__init__(self,battery_size=70):self.battery_size=battery_sizedefdescribe_battery(self):打印电瓶信息print(电车的电池容量为:+str(self.battery_size)+千瓦时。)classElectricCar1(Car):#括号里注明父类电动车特有的特征def__init__(self,make,model,year):继承父类的基本信息,并添加特有信息super().__init__(make,model,year)self.battery=Battery()152my_tesla2=ElectricCar1(特斯拉,model_X,)my_tesla2.battery.describe_battery()#输出与之前一样:电车的电池容量为:70千瓦时。#最后说一下我们常用的导入库的方法是:#import(所要导入库的文件名)as(简写,一般要记住通用写法)#如本节例子。假设我们这个文件名叫car。#importcarasca#如果想调用库里的类,以及制定函数,就可以这么做。#dd=ca.Car(xxx,xx,)#dd.read_odometer()#到目前为止,我们python的级初阶课程就全部介绍完毕了。HTTTTTY
谢谢支持,继续提供优质内容。