由于之前有一定基础,所以python中的类的概接受的比较快,与其他语言一样, python也是通过类来进行事务的抽象,一切皆对象,要不然怎么说程序员不缺对象呢。

言归正传,python中类的声明是class 类名(父类):的形式定义,在类中self表示指向自身,__init__方法表示的是构造方法,也就是初始化数据所用的方法,与其他语言一样,同样构造方法参数的不确定性也决定了类的其他强大特性,比如多态,继承。

python中在子类中也允许重写父类方法,且python子类中允许为父类添加属性值。比如父类没有的属性,可以在子类中声明为父类添加并赋值,但是该属性并不在其他子类中生效,只存在于当前子类中。

Python中父类的构造方法的参数也允许使用默认参数、可变参数、关键字参数和命名关键字参数。

总之类的概念没啥可以说的,都是理解性的东西,懂得自然懂,不懂得多写代码理解就懂了

下面说一说一些重要的知识点

python中的访问限制,python中父类如果需要对自己成员进行访问限制,因为不可能让子类的实例肆无忌惮的更改自己的属性值,对象很多时候自己的成员是需要得到保护的,不能人人都能碰到。可就需要用__变量名的方式在类中声明,如果一个构造方法的变量名为 __变量名 ,那么实例化一个对象后,该对象不允许对此变量进行调用和修改(其实还是可以调),如果需要修改,可以自己写新的赋值方法和调用方法。

python 中的继承方式为 class 类名(父类):  那么这个类就是继承自父类,继承与其他语言一样,继承后拥有父类公开的方法和属性,而且允许重写父类的方法,同时python中继承也会表现出多态的特点,也是由于继承产生的。

python中还有一个概念是实例属性和类属性,类属性理解为是类的固有属性,所有实例都可以使用该属性,类似刚说的继承,类属性可以被继承,但是类属性是不能被实例修改的,如果实例中定义了和类属性相同的属性,那么实例属性优先级会高于类属性被调用,但是一旦删除实例属性,再用该名称调用则会调用出类属性,故千万不要类属性和实例属性名称相同,不然一些狗血错误找都找不到

最新文章

  1. 移动端HTML
  2. Azure Blob Storage 基本用法 -- Azure Storage 之 Blob
  3. 安卓开发 想要获取某个View的高度(我是在做滚动浮层的时候用到的)
  4. springMVC之国际化
  5. JMS之开源实现ActiveMQ
  6. 【转】Phonegap离线调用SQLite数据库文件
  7. JavaScript学习笔记(11)——HTML DOM Event对象
  8. Contest2037 - CSU Monthly 2013 Oct (problem A :Small change)
  9. 【转】关于C#使用Excel的数据透视表的例子
  10. UVALive 5990 Array Diversit
  11. c# WPF 项目优化
  12. AutoCAD 2013官方简体中文破解版(32 / 64位),带激活码和注册机
  13. 学习笔记之09小练习题(js:从小到大输出三个任意数,查成绩,相亲题,查体重,一元二次方程求根)
  14. sqlserver的分页语句
  15. 【SqlServer系列】远程访问
  16. Python学习笔记四:面向对象编程
  17. QT QTransform与QMatrix 有啥区别?
  18. Cloudstack云平台实践
  19. k-means算法及matlab实现
  20. 总想自己动动手系列·1·本地和外网(Liunx服务器上部署的web项目)按照自定义的报文格式进行交互(准备篇)

热门文章

  1. jquery ajax 参数列表定义
  2. 【部分】ASP.NET MVC的Controller接收输入详解
  3. .net Core中如何读取Appsetting配置文件
  4. GAN网络从入门教程(二)之GAN原理
  5. 「从零单排canal 04」 启动模块deployer源码解析
  6. 一天学习一点之如何安装nodejs
  7. VS2019阅读源码 翻译注释插件
  8. day22 作业
  9. 为什么有时候人们用translate来改变位置而不是定位?
  10. python爬虫拉钩网:{'msg': '您操作太频繁,请稍后再访问', 'clientIp': '113.57.176.181', 'success': False}