~~缘 起~~

2017年11月,一群编程零基础的小伙伴们成立了Python学习小组,12名学员从此夜以继日地奔赴学习的征程。一个月过去了,从在屏幕上用最简单的语句打印出“Hello, Python; Hello, World”开始,我们逐步地学习Python语法,学习操作列表、字典,学习For,While,If语句,现在遇到了第一个难点:类。通过研读、练习、交流、讨论,作为程序界的小白,我们逐步地理解了类的概念,明白了面向对象与面向过程编程的差异,以下是我们的小小心得,与大家分享:

编程基本思想

现实世界中,每个复杂的事务都可以拆分为多个组成部分,其中的每一部分就可称之为对象。比如要实现一个很大很复杂的项目,我们可以把项目拆分成不同的组成部分,然后分别对不同部分通过编程实现,最终再把各个部分组装起来完成整个项目。这让我们能够从整体上来控制项目,从而让程序开发更有效。

比如汽车制造,汽车厂所做的仅仅是各个部件的组装和匹配,而各个部件的生产是由相对专业的厂商完成。如果需要研发新型号汽车,整车厂所考虑的是如何对各个新式的零部件进行新的组装和匹配,而不是从头到尾重新生产一辆汽车。

面向对象的编程

VS

面向过程的编程

面向过程编程是针对一个需求的具体实现过程,但是对于大型项目的复杂需求,一步一步的做,这种编程效率显然是低下的。

面向对象编程则是对项目进行拆分后(一般按照功能拆分),分别实现,再将各个对象组装起来。因此简单的小程序使用面向过程方法编程更适合。面向对象的编程特性是易维护(可读性高),效率高,质量高(重用性),扩展性好(高内聚,低耦合)。

对象

通俗的讲,对象就是事物,一个公司、一个部门、一个人,甚至一本书都可以是一个对象,程序员可以自由决定把什么作为对象。

比如eHR系统,需要对组织架构,员工进行管理,所以使用的对象可能是公司,部门,岗位,员工,等等。对象可大可小,可复杂也可简单,如果仅仅是做一个考勤系统,员工这个对象一定要比eHR系统中的员工对象简单。

现实世界中,类代表一组有共同特性的事物,把不同对象之间的共性抽象出来,就形成类的概念。比如说男人、女人可以抽象成人这个类;处长、秘书可以抽象成员工类。至于类如何去抽象,粒度的粗细,这是一个需要在学习和实践中摸索的过程。

实例

以下是一个实例,大家体会一下:

1. 定义父类:

class Employee:

def __init__(self, name, age): #抽象员工共性(名字,年龄)

self.name = name

self.age = age

def signON(self):

print(self.name+" sign on.") #抽象签到的动作

def work(self):

print(self.name + " on work.") #抽象工作的动作

2. 继承出子类:

class MEmployee(Employee): #继承父类的共性

def __init__(self, name, age):

super().__init__(name, age)

def work(self): #重写子类的方法(抽象出从事管理岗位工作的动作)

print(self.name + " on manager_work.")

3. 继承出第二个子类:

class TEmployee(Employee):

def __init__(self, name, age, devLanguage): #继承父类的共性,增加语言的属性

super().__init__(name, age)

self.devLanguage = devLanguage

def work(self): #重写子类的方法(抽象出从事技术岗位工作的动作)

print(self.name + " on technology_work.")

def showLanguage(self): #增加子类的方法(抽象出会某种编程语言的动作)

print("use "+self.devLanguage+" language.")

在上面的程序中,我们先定义了一个父类:包含员工的姓名、年龄等一般特性,可以执行签到、工作这两类动作。在第一个子类中,管理层在前面一般特性的基础上,执行管理工作;在第二个子类中,作为一般员工在前面一般特性的基础上,执行技术工作,从事编程。

好的,今天就先分享到这里,小编去敲代码了,下期继续聊。

python心得1000字-python学习心得(一)相关推荐

  1. 大学生python心得1000字_大学生心得体会1000字

    大学生心得体会 1000 字 [篇一:大学生读书心得 1000 字 3 篇] 大学生读书心得 1000 字一:大学生读书心得体会 发现已经好久没有拿起笔写东西了,记忆中文字是内心最好的诠释, 是因为忙 ...

  2. python实验报告心得1000字,python数据分析论文2000字

    python有哪些特点和优点 显著的优点Python 语言拥有诸多的优点,这其中,以下几个优点特别显著:简单易学:Python语言相对于其他编程语言来说,属于比较容易学习的一门编程语言,它注重的是如何 ...

  3. oracle讲座心得1000字,教育讲座心得体会(精选8篇)

    教育讲座心得体会(精选8篇) 我们有一些启发后,应该马上记录下来,写一篇心得体会,它可以帮助我们了解自己的这段时间的学习.工作生活状态.怎样写好心得体会呢?以下是小编为大家整理的教育讲座心得体会(精选 ...

  4. 初学python心得1000字实训_数学教学1000字六年级心得大全

    数学是训练学生思维能力的一门主要基础学科.改革数学教学,其着眼点应该放在引导学生通过自己的思维活动掌握学习方法上.为发展学生的思维能力,培养学生和训练学生善于发现问题和解决问题的能力,要重视思维训练. ...

  5. 大学生python心得1000字_[心得体会]大学生读书心得1000字3篇

    [ 心得体会 ] 大学生读书心得 1000 字 3 篇 发现已经好久没有拿起笔写东西了,记忆中文字是内心最好的诠 释, 是因为忙而没有时间写东西吗?其实不然! 每次都感觉自己很忙, 可是这么长时间以来 ...

  6. 计算机硬件技术心得,计算机硬件技术基础学习心得.doc

    计算机硬件技术基础学习心得 计算机硬件技术基础学习心得 大学计算机基础学习心得 大学计算机基础学习心得 计算机,即电脑,随着科学技术的发展,不断进行着更新发展.伴随着计算机走入人类生活,它已成为人们日 ...

  7. 计算机学培训后的心得体会,计算机培训学习心得感想

    计算机培训学习心得感想 发布时间:2020-01-04 从计算机软件诞生开始,经过几十年的发展,计算机软件已成为独立于计算机硬件的一个巨大的产业.下面是第一范文网小编为大家整理的计算机培训学习心得感想 ...

  8. python心得1000字-经典教材《统计学习导论》现在有了Python版

    来源:机器之心 本文约1000字,建议阅读5分钟 <统计学习导论>很经典,但用的是 R 语言,没关系,这里有份 Python 版习题实现. 斯坦福经典教材<The Element o ...

  9. 学python心得体会1000字-Python学习心得体会总结,不要采坑

    大家要持续关注哦,不定时更新Python知识哦! Python 作为一个近年备受好评的语言,它的一些优点让人无法忽视.Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.它的 ...

最新文章

  1. Java学习总结:34(对象克隆)
  2. 使用VB.NET加快代码开发速度
  3. 【Whalepaper】CV论文研读 - OneNet:Towards End-to-End One-Stage Object Detection
  4. IIS Express总结
  5. ceil与intval区别
  6. Jmeter JDBC请求-----数据库读取数据进行参数化 通过SSH跳板机连接数据库
  7. 手把手教程:用Python开发一个自然语言处理模型,并用Flask进行部署
  8. python snmp采集交换机信息_交换机和大机技术术语(大全)
  9. 最新一二线城市知名 IT 互联网公司名单出炉!
  10. leetcode刷题:求旋转有序数组的最小值
  11. 获取mysql系统时间
  12. MD5校验工具的使用
  13. 融合迁移学习与文本增强的中文成语隐喻知识识别与关联研究
  14. 高中计算机教案excel,高一信息技术Excel教案.doc
  15. c语言 结构体数组嵌套另一个结构体数组怎么初始化?,如何初始化结构体数组(内嵌结构体)...
  16. 今天你的人生做减法了吗?
  17. 哪类人适合学软件测试?零基础能学测试吗?
  18. java 中“==”与“equal” 的区别
  19. ZoomIt使用方法
  20. js 公众号 获取code_微信公众号开发之网页授权登录及code been used 解决!

热门文章

  1. “VRRP”虚拟路由器冗余协议
  2. “延禧配色”是怎么调出来的?调色总监亲自教你!
  3. PaaS概念遍地开花,Gartner教你分辨“泡沫”和“爆点”
  4. 【深度学习】回归问题损失函数——均方误差(MSE)
  5. Higher-Order Factorization Machines
  6. 基于HTML5 Canvas 点击添加 2D 3D 机柜模型
  7. Web安全性测试—SQL注入
  8. 关于JavaScriptInterface的一系列问题
  9. 数据库应用设计学生宿舍管理系统java+SQL
  10. 有的男生想追自己喜欢的女孩子又不敢追,还想人家倒追她,我很反感