返回顶部
首页 > 资讯 > 后端开发 > Python >Python中的类到底是什么
  • 299
分享到

Python中的类到底是什么

2023-06-15 12:06:12 299人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

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

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

前言

今天我们要说的是面向对象的核心-----类,类能帮我们把复杂的事情变得有条理,有顺序,希望大家通过学习类能改善自己的编码风格,使代码变得更为好看,更加通俗易懂。

1.类的用法

一、什么是类

类(class),作为代码的父亲,可以说它包裹了很多有趣的函数和方法以及变量,下面我们试着简单创建一个吧。

Python中的类到底是什么

这样就算创建了我们的第一个类了。大家可以看到这里面有一个self,其实它指的就是类aa的实例。每个类中的函数只要你不是类函数或者静态函数你都得加上这个self,当然你也可以用其他的代替这个self,只不过这是python中的写法,就好比Java  中的this。

二、类的方法

1.静态方法,类方法,普通方法

类一般常用有三种方法,即为static method(静态方法),class  method(类方法)和self(普通方法)。下面我们来看看他们之间的区别吧。

Python中的类到底是什么

从这里可以看出我们的三种方法有一个共同点,那就是既可以在实例中访问,也可以直接用类访问。不同的是,类实例访问时是不会执行init方法的,也就是没有进行初始化。如果用类直接访问,可以清楚看到它的运行轨迹。如果想在一个方法里调用其他方法则只需:实例名.方法名  或者 类名.方法名 即可。

2.安全方法,私有方法,安全变量,私有变量

安全方法一般是为了保护类的安全性,为了限制访问权限而设立的。一般只需在方法前加单下划线即可,那么私有方法怎么访问呢?和其他方法访问方法一样。

Python中的类到底是什么

安全方法:可以在外部进行调用并且其他方法也能访问到,它允许本身的任何方法进行访问,并可在外部调用,安全属性也是;

私有方法:只能在私有方法内部调用,不能通过类名或者类的实例名来调用,所以你可以在其他方法中通过self.ww来调用或者cls.ww来调用,这样就做到了私有的功能。

三、类的特性

类的特性,相信接触过面向对象的小伙伴应该都知道,封装、继承和多态。

1.封装

讲的就是将一个功能封装到类中,这个很好理解。

2.继承

就是一个类和另一个类的主体结构一致,就好比父亲和儿子的区别,儿子继承父亲所有的特点,这使得他可以少做一些重复劳动,并且他还有自己的一套,这就叫继承,下面我们通过实例说明:

Python中的类到底是什么

可以看出我们实现了继承,就是简单的在子类中添加了父类的名字,并且写了个spuer,用来继承父类的所有的特性。虽然父类的所有东西我们都能继承,但并不是说所有的你都能用的,比如说父类的私有方法或者私有属性:

Python中的类到底是什么

那么如果你想要使用它们那该怎么办呢?很简单,你只需将私有方法或者属性添加到父类某个可以公开访问的类中,然后子类就能使用这些父类定义的私有方法或者属性了。

Python中的类到底是什么

当然,除了单一继承,还有多继承,它可以继承两个类的所有属性和方法,只不过写法与其他编程语言有点不同,它的多继承就是递归继承,不能同时继承,也就是:

Python中的类到底是什么

这样就实现了多继承,多继承可以大大简化代码量。我们可以通过一些魔法方法来获得父类的名称以及说明。

__bases__  #查看类的所有父类 __base__  #查看类的父类 __doc__    #查看类的使用文档,在类中以三引号扩起来的部分都是文档内容

我们注意到,只需继承一个类就实现了多继承,这是因为son类之前继承过father类,所以现在你必须通过son类继承father类,后面给它初始化,如果是两个没有任何关联的类,则需要写两个类名进去,并且初始化。

3.多态

多态的应用使得类更灵活,它可以共享某个方法,给所有的类对象使用。我们来看看:

Python中的类到底是什么

这里是通过对一个函数传一个对象,使得它拥有了类的特征功能,这也就是鸭子类型。

4.动态修改值

当一个类需要大量创建实例时,可以通过魔法方法slots来声明。这样可以减少内存消耗。但是它只是动态的修改,并没有绑定到类的实例中,而且类只能访问slots里设定的值。

Python中的类到底是什么

可以看到访问不了值,因为没有这个属性,我们再来看看没slots的时候:

Python中的类到底是什么

现在正常了,另外,子类的slots为它本身和父类的slots,父类只是本身。这样极大省内存,但是这样好像还不够Python,因为他的局限性,让我决定使用property。property有两种创建方式,我们来看看:

一、装饰器

直接在方法上运用装饰器,十分方便。他有设置,获取,删除三个属性,例如:

Python中的类到底是什么

可以看到,非常简单就实现了功能,少写了很多代码哦。

二、在类中定义值为property对象的类属性

使用property函数来实现:

Python中的类到底是什么

可以看到,这样就实现,那么现在我们写一个稍微复杂点的,可以进行交互的动态修改属性吧。

Python中的类到底是什么

Python中的类到底是什么

可以看到,我输入属性名和属性值,如果你想做的更好,可以给它加其他功能,比如私有方法私有属性,访问其他类。总之功能多多,需要你自己动手亲自实践。

四、总结

通过对类的解读,让大家明白了,代码的简洁美观有多重要,为了我们的程序不那么low,请学好类。

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

--结束END--

本文标题: Python中的类到底是什么

本文链接: https://lsjlt.com/news/280157.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中的类到底是什么
    这篇文章主要介绍“Python中的类到底是什么”,在日常操作中,相信很多人在Python中的类到底是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中的类到底是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-15
  • Python中的id函数到底是什么?
    Python官方文档给出的解释是 id(object) Return the “identity” of an object. This is an integer (or long integer) which is guarant...
    99+
    2023-01-31
    到底是什么 函数 Python
  • Python的优势到底是什么
    本篇内容介绍了“Python的优势到底是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python的优点简单:Python是一种代表简单...
    99+
    2023-06-02
  • C++类和对象到底是什么
    目录1、C++ 中的类2、面向对象编程(Object Oriented Programming,OOP)1、C++ 中的类 C++ 中的类(Class)可以看做C语言中结构体(Str...
    99+
    2024-04-02
  • Python Numpy Load API到底是什么?
    Python是一种广泛使用的编程语言,它有着强大的科学计算能力和丰富的第三方库,其中Numpy库是Python中最为重要的科学计算库之一。Numpy库提供了高效的数组操作和数学函数,使得数据处理和科学计算变得更加简单。其中,Numpy L...
    99+
    2023-09-04
    numpy load api
  • Python到底是个什么东西
     1、Python是一门脚本语言,像awk、tcl、perl、ruby一样,解释执行(可以编译缓存); 2、Python是一个绿色软件,解压即可使用,方便灵活; 3、安装一个Python库非常方便,大部分封装包都带有setup.py,只需要...
    99+
    2023-01-31
    是个什么东西 Python
  • 数据类型在编程中的作用到底是什么?
    在编程中,数据类型是非常重要的概念。数据类型是指变量或常量可以存储的数据的类型。在不同的编程语言中,数据类型的定义和使用都有所不同。但是,不管是什么编程语言,数据类型都是编程中的基础。 数据类型在编程中的作用主要有以下几个方面: 内存的...
    99+
    2023-10-27
    ide 数据类型 laravel
  • Python打包缓存到底是什么?
    Python打包缓存到底是什么? Python是一种广泛使用的高级编程语言,其简单易用的特性受到了许多开发者的青睐。在Python开发过程中,打包和缓存是两个十分重要的概念。本文将详细介绍Python打包缓存的定义、作用、实现方法以及相关的...
    99+
    2023-08-27
    打包 缓存 编程算法
  • MapStruct到底是什么?
    一、简介 现在的分布式系统中模块划分越来越细,不同模块的实体、DTO、DO等需要进行转换,这么多工程处理起来不是那么简单。 MapStruct 就是这样的一个属性映射插件,用于为Ja...
    99+
    2024-04-02
  • javascript到底是什么
    这篇文章主要介绍“javascript到底是什么”,在日常操作中,相信很多人在javascript到底是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript...
    99+
    2024-04-02
  • ViewState到底是什么
    ViewState是ASP.NET Web Forms中的一个重要概念,用于在Web服务器上存储和恢复页面的状态数据。在Web应用程...
    99+
    2023-09-01
    ViewState
  • 到底什么是SSL
    本篇内容介绍了“到底什么是SSL”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  什么是SSL?  SSL是一种使用TCP / IP在两个通...
    99+
    2023-06-04
  • redis到底是什么
    redis是一个基于内存的高性能键值存储系统,具有以下特性:高性能、支持丰富数据结构、分布式、持久化、复制和多种语言支持。应用场景包括缓存、消息队列、会话管理、排行榜和限制速率。 Re...
    99+
    2024-04-02
  • 基于python详解PyScript到底是什么
    目录前言:作用使用方法总结前言: 最近 Anaconda 开大会发布了 PyScript ,它允许我们将 Python 代码嵌入到 HTML 中,并在浏览器中允许。PyScript ...
    99+
    2024-04-02
  • 树莓派Python编程到底是什么?
    在学习Python编程的过程中,大家可能会接触到一个叫做树莓派的东西,那这个树莓派是什么呢?为什么要用它来做Python编程? 树莓派是个用来学习编程的优秀设备,它可以理解多种语言。第一,它很便宜。价格差不多只有低端计算机的十分之...
    99+
    2023-01-31
    到底是什么 树莓派 Python
  • Live-USB到底是什么
    本篇文章给大家分享的是有关Live-USB到底是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。我们平时所说的“U 盘”,正式名称是“USB闪存驱动器”(USB Flash ...
    99+
    2023-06-16
  • C++ set到底是什么
    目录1、set是什么2、set有什么用1、set是什么 如果大家学过几门编程语言,会发现各大语言的特性虽然迥异,但是总有几个东西反复出现刷存在感。它们在各个语言当中的名字虽然不太一样...
    99+
    2024-04-02
  • Python 中的协程,到底是怎么回事?
    一.传统的Sync语法请求例子还是一样, 在了解Async语法的实现之前, 先从一个Sync的语法例子开始, 现在假设有一个HTTP请求, 这个程序会通过这个请求获取对应的响应内容, 并打印出来, 代码如下:import socket de...
    99+
    2023-05-14
    代码 Python Async
  • 一文搞懂Java中的抽象类和接口到底是什么
    目录什么是抽象类抽象类在实现多态中的意义接口是什么通过接口实现多态今天让我们继续学习java,看看java中的抽象类和接口到底是什么? 什么是抽象类 我们之前学过什么是类,那么抽象...
    99+
    2024-04-02
  • Django对象数据类型到底是什么?详解!
    Django是一个流行的Python Web框架,它提供了许多功能强大的功能,使得Web开发变得更加容易和快速。其中之一是Django对象关系映射(ORM)系统,它允许开发人员使用Python对象来操作数据库,而不必编写SQL查询。在这个O...
    99+
    2023-08-21
    django 对象 数据类型
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作