Python的类是什么

发布时间:2021-11-05 16:07:37 作者:iii
来源:亿速云 阅读:174

这篇文章主要介绍“Python的类是什么”,在日常操作中,相信很多人在Python的类是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python的类是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  高级语言都有面对对象,Python也不例外,比起c++,java这些传统的语言,Python中的面对对象去掉了很多复杂的东西,理解和使用起来更简单一些。

  一般来说面对对象包含:数据封装、继承和多态这三大特点。

  1.类和类的实例

  类其实是一种数据结构,我们可以用它来定义对象,一个类会包含属性和行为特性.类是现实世界抽象的实体以编程形式出现。

  python中类的声明用class关键字来命名。

  python类分为两种:经典类(旧类),新式类.新式类主要是从Python2.2以后开始引入的,目前主要以用新式类为主(Python 3.x中默认都是新式类)。

  也许同学会问为啥有新式类的出现(主要的差别在于类内置属性,多重继承的搜索顺序和父类初始化)。

  类的对象实例声明很简单,实现实例化的方法,就是像调用函数一样地调用一个类。

  2.类的初始化

  类的初始化函数是用__init__来完成的,也许有的同学有c++,java基础的,觉得它和构造函数很像。

  确实很像,注意注意注意__init__()不是类的构造函数,只是用来做初始化的。

  这个特殊名字的__init__()方法,用于创建类的实例,Python调用这个特殊的方法,并使用传入的参数( 除了self,你不用显式传递这个参数,Python自动提供)来初始化一个新建的实例。

  今天这篇只是揭露类的表层,等后面慢慢熟悉了之后,深入揭露类的本质的时候,我会告诉大家为什么它不是构造函数,只是初始化函数。

  1).当Dog类声明一个dog_obj对象实例的时候,Python会自动去检查时候实现了__init__()方法,做一些实例对象的初始化工作。

  2).有细心的小伙伴会问为啥这个__init__()函数长的这么奇怪,要有双下划线开头,哇你会抢答了,这个在Python中有特殊的含义.用来一些命名约定来进行访问控制。

  3).又有同学会问self是啥,这个参数是Python特有的,当__init__()被调用的时候,实例对象作为第一个参数被传递了进去,相同于java里面的this.也就是说self其实就是类的对象地址。

  3.类的删除

  类既然有初始化,就一定有删除,有进就有出,python里面用一个__del__()来负责清理类的对象。

  当这个对象没有人用了就会被清理掉.有同学会问~~我怎么知道什么时候对象没有人用了,聪明Python用引用计数的方法来追踪。

  引用一次加1,当引用计数为0的时候,python内置了一个垃圾对象回收机制,一旦计数为0就清理对象就会去调用类里面的__del__()方法.是不是很智能,其实java也内置了这样的功能。

  4.类的属性

  类里面定义。

  类的初始化函数里面定义。

  先来说说类里面定义,有一个Student类,里面有name和age属性。

  class Student(object):

  name='wang'

  age=10

  name,age都是Student类的属性,所以Student的对象实例都共享name,age

  换句话说你的s1,s2两个对象里面的name,age都是一样的,不信你看:

  再来看看对象的属性,都是在__init__()函数里面声明的,也就是self.name ,self.age都是对象的属性。

  5.类中的方法

  类中的方法有是哪个:实例方法;类的方法;类的静态函数。

到此,关于“Python的类是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. python使用类是什么时候
  2. Python类是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:分析Android Gradle开发指南

下一篇:iframe框架流量分析以及以导航站为例谈框架流量的应用是怎么样的

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》