林美扬Python学习笔记之 ------ 类和对象
2018-12-31 21:30
225 查看
学过java,对这个理解起来不是很费劲。
具体语法体现在下面的这个例子中
car.py
文件名,属性名,函数名小写开头,类名大写开头。
构造函数__init__(self):两个下划线…一定要加个self,其他属性跟在后面
定义函数没啥亮点,记得要加self
如果对类中属性更改必须使用封装好的函数,体现了类的封装性
class Car(): def __init__(self,brand,year): self.brand=brand self.year=year self.defaultAttribute=0 #给了默认值属性举例 def describe_car(self): #描述汽车基本信息函数 print('My Normal Car:\nbrand:'+self.brand,' year:'+str(self.year)) def update_year(self): #修改属性的函数 self.year=self.year+1 print('The year of car has been updated\n')
Battery类是为ElecCar定做的,他实例化的对象作为ElecCar的属性
class Battery(): def __init__(self,batteryBrand): self.battery_brand=batteryBrand self.battery_size = 6000
将Car写在定义ElecCar的括号里,代表ElecCar继承Car,ElecCar是Car的子类
super().init() 继承父类的构造函数,继承父类的属性、默认值
当然可以再添加新的属性
子类中可以重写父类函数,以重写的为准;也可以写新的函数
class ElecCar(Car): def __init__(self,brand,year,Battery): super().__init__(brand,year) #继承父类的构造函数 self.battery=Battery #子类独有;将别人的对象作为属性。 #电动车不同之处当然在电池 def describe_car(self): #重写父类中函数 print('\nMy Electronic Car:\n' 'brand:'+self.brand+' year:'+str(self.year)+ '\nbatterBrand:'+self.battery.battery_brand +'batterSize:'+str(self.battery.battery_size))
helloworld.py
这里和java很像,import之后调用,我喜欢这种方式。
不过也可以使用语句:
from car import Car,ElecCar,但这样不知道这些类哪来的,还容易混淆,我不喜欢。
实例化(创建一个对象)的命名方式:
对象=模块名.类名(属性1,属性2,...)
实例化后调用方法还是如常。
import car my_normalCar=car.Car('Toyota', 2016) my_normalCar.update_year() my_normalCar.describe_car() my_elecCar=car.ElecCar('Dragon',2018,car.Battery('Tesla')) my_elecCar.describe_car()
最终输出结果:
The year of car has been updated My Normal Car: brand:Toyota year:2017 My Electronic Car: brand:Dragon year:2018 batterBrand:TeslabatterSize:6000
相关文章推荐
- python学习笔记6-基本对象和流程语句整理
- python cookbook 学习笔记 -- 1.3 测试一个对象是否是类字符串
- 类与对象学习笔记(Python)
- 【Python学习笔记】list/dict对象复制的误区与正确方法
- Python学习笔记(四)Python对象类型及其运算
- Python 学习笔记二 函数、模块和对象
- Python3 高级功能学习笔记(面向对象和正则表达式)
- Python学习笔记——文件对象和操作(1)
- 简明python教程学习笔记之九-对象参考
- Python学习笔记(四):面向对象、正则表达式(快速入门篇)
- [Python学习笔记][第六章Python面向对象程序设计]
- python 学习笔记day03-python基础、python对象、数字、函数
- python学习笔记--类方法、对象方法、静态方法
- Python源码学习笔记 4 列表对象
- Python3学习笔记10-标准库之正则、时间、路径、文件管理、存储对象
- Python学习笔记-Python对象
- Python 学习笔记——文件对象和操作
- 【python学习笔记】python中的模块,类,函数,对象,实例(与JAVA的比较)
- Python 学习笔记【文件对象】
- 【Python 学习手册笔记】介绍Python对象类型