我的Python学习之路之基本语法-面向对象编程

1.      首先我需要明白几个基本概念,如何你做过C++和Java这些开发,那么这节对于你而言仅仅是小菜一碟而已

类:创建了一个新的类型

对象:实例化了一个类

域:在对象或者类中定义的变量

方法:对象使用了属于类中的函数而具有的功能实现

域和方法合称类的属性。

类是用class关键字创建,同样的类的域和方法被列在一个缩进块中

2.      Python中类的方法和函数的区别:

其实也就一个区别,方法比函数多一个叫做self的参数,但在调用过程中你不用给这个参数赋值,而且它这个变量指代对象本身。注意:至于这个变量名为什么叫self,其实我也不知道,因为几乎所有人都这样说,我们全当这是标准。

所以尽管你定义了一个不需要参数的方法,你依然需要给这个方法定义一个self的参数

3.      讲了这么多的概念我们用一个实例体会一下,其实也是很好理解的

4.      在类与对象的变量:

类的变量由一个类的所有对象(实例)共享使用,只有一个类变量的拷贝。

而对象的变量由类的每个对象/实例拥有,每个对象有自己对这个域的一份拷贝,即他们不是共享的,有点全局变量和局部变量的味道,理解一下就好

5.      自己对于C++有一些学习,所以在这说两个方法,几乎每个类都会有这两个方法吧,一个就是初始化方法。另一个就是释放的方法:

__init__(self,…):

__del__(self):

初始化的方法在实例化一个对象的时候会自动调用,而释放的方法在程序退出的时候也会自动调用,故不需要使用者专门再去写调用这两个的过程我们可以体会一下下面的代码,用pdb跟踪一下代码的运行过程便一目了然

6.      继承:面向对象的编程带来的主要好处之一就是代码的重用,通过继承机制便可以实现代码的重用,在使用过程中需要注意一下几点:

(注这里为引用别人的,大家可以参考这篇博客,个人感觉写的很好

链接:http://www.cnblogs.com/Joans/archive/2012/11/09/2757368.html)

1:在继承中基类的构造(__init__()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。有别于C#

2:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别于在类中调用普通函数时并不需要带上self参数

3:Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值