我的编程空间,编程开发者的网络收藏夹
学习永远不晚

pyhton数据挖掘self原理是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

pyhton数据挖掘self原理是什么

本篇内容主要讲解“pyhton数据挖掘self原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“pyhton数据挖掘self原理是什么”吧!

1. 什么是class,什么是instance,什么是object?

Class: 可以理解为一个组装工厂。假如我们要生产一个机器人,那我们先要搭个工厂吧。先确定:我们要先安装胳膊,再安装头,我们的小破机器人的流水线就搭好了。这个工厂比较智能,胳膊和头的数量都可以调。

class BuildRobot():    def __init__(self,armcount,headcount):        self.armcount = armcount        self.headcount = headcount

所以这里的class,就是搭了一个工厂叫BuildRobot。'__init__' 就是告诉这个流水线,首先你需要这个机器人有几个胳膊(‘armcount'),有几个脑袋(‘headcount')。先忽略一下这里的self,以后讲。

这个时候你可以run一下,这样你的class就搭好了。可是这时的工厂,因为你没有开始生产,是没有任何产出的。下面就是instance

instance:可以理解为启动一次工厂生产出的机器人。现在我们用之前搭的工厂生产一个正常一点的机器人,两个胳膊一个脑袋:

normal_robot = BuildRobot(2,1)

查看一下胳膊数对不对?

我们再来一个 不太正常的机器人:

weird_robot = BuildRobot(4,1)

normal_robot 和weird_robot 都是instance。他们虽然胳膊数量不一样,但是本质上都是由这个class造出来的,由胳膊和头组成的机器人。

object: 这个就比较麻烦了,大部分情况下,object和instance的含义是一样的,都是指这个造出来的robot。这两者的区别,只是在英语语言环境下的区别:

normal_robot is an instance of ‘buildrobot'

normal_robot is a ‘buildrobot' object

上面这两个说法是等价的。

2. 什么是method,什么是function?

两者都由def定义,稍微粗糙一点的理解就是,在class里面的function叫method。所以,method是和class,instance有关的一种function。

举个栗子:

还是上面的工厂,我们现在加装一个车间,负责把胳膊上色:

class BuildRobot():    def __init__(self,armcount,headcount):        self.armcount = armcount        self.headcount = headcount    def paintarm(self,color):        print("paint arm:",color)

这个paintarm,就是一个method。还是一样,现在这个class没有生产,因此这个method也没有任何实际的产品出来。我们只能先生产出一个instance来:

colorful_robot = BuildRobot(2,1)

好的我们现在有一个两个胳膊一个头的robot了。这时,我们的robot还是没有上色的,因为我们没有让这个instance进入上色的那个车间。现在我们让这个robot进入车间,涂个红色。

colorful_robot.paintarm('red')

paint arm: red

上面的过程,就是call这个paintarm method。几个点:

如果没有先造一个机器人,这个车间就没有办法给胳膊上色,因此要上色,就必须先造一个机器人出来。所以,method是依赖于instance的。

这个车间只能给这个工厂产出的robot的胳膊上色,你从别的工厂拿一个车过来让他上色,他是不干的。因此,method是依赖于class的。只有这个class创建的instance,才能call这个method。

假如我把上色这个活,外包了。我就在外面另建了个工厂,专门上色,这就是function:

def outsourcing_paint(robot,color):    print("paint",robot,"arm:",color)outsourcing_paint(colorful_robot,'red')

paint <__main__.BuildRobot object at 0x116b434a8> arm: red

这个外包的上色工厂,不管你这个东西是从哪个工厂来的,无论你是个机器人还是机器狗,反正我就拿来,给胳膊上色。

看到这里,应该就明白function和method的区别了。

注意method其实有两种,一种是instance method,一种是class method。

  • instance method就相当于对于机器人这个产品进行各种修改的车间。我给机器人上色,不影响我这个工厂的外形对吧?

  • class method,是对这个工厂,这个class的属性进行修改的车间,比如我有一个车间负责把工厂涂成红色的。这个行为并不影响我造出来的机器人的大小颜色属性。

本篇的讨论,我们先限定在instance method里。

3. 重点SELF分析

把class, method讲明白以后,终于能讲self了。通过上面的例子,我们注意到

outsourcing_paint(colorful_robot,'red')
  • 在function里面,是没有self的。因为我们告诉了外包工厂,给谁上色。所以在定义外包工厂function时,我们有两个input variables:robot 和 color。

colorful_robot.paintarm('red')
  • 然鹅在使用method的时候,我们只告诉了车间,我要红色。那这个车间怎么知道,给哪个机器人上色啊?是给normal robot还是给colorful robot?因为我们在call这个method的时候,使用了colorful_robot.paintarm()这个格式,于是paintarm这个method就知道,哦,我要给这个colorful_robot上色。

  • 在python里,要想使instance.method()这个格式可以正常工作,在class里面编写method的时候,就必须把变量的第一个位子留出来,用来指代未来call这个method的instance。就相当于我们在搭建给胳膊上色的这个车间的时候,就必须预留一个入口来放入已经生产出来的机器人。

  • 留出来的这个位子,可以叫任何名字。只不过为了代码的优美,大部分人选择使用self,来指代使用这个method的instance他自己。

到此,相信大家对“pyhton数据挖掘self原理是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

pyhton数据挖掘self原理是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

pyhton数据挖掘self原理是什么

本篇内容主要讲解“pyhton数据挖掘self原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“pyhton数据挖掘self原理是什么”吧!1. 什么是class,什么是instance,
2023-06-25

Golang在数据挖掘中的优势是什么?

go 语言在数据挖掘中表现出色,其优势包括:高并发性,可同时处理多个任务,提高处理效率。内置垃圾收集器,自动释放内存,简化内存管理。丰富的生态系统,提供机器学习、数据可视化和并行计算等模块。Go 语言在数据挖掘中的优势Go 语言作为一种现
Golang在数据挖掘中的优势是什么?
2024-05-08

python中self的原理是什么

本篇文章为大家展示了python中self的原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python的数据类型有哪些?python的数据类型:1. 数字类型,包括int(整型)、long
2023-06-14

从数据收集到信息挖掘,我们该看重什么?

  说到人工智能、深度学习,大家总会第一时间想到算法和模型,再然后就是最根本的、提供动力源的数据。由于人工智能技术的飞速进步与广泛应用,我们对待数据的方式已从收集为主转变为以获取信息为主。  如果你不把存储的数据转化为可用的信息,那么这些数
2023-06-04

Redis数据结构原理是什么

本篇内容介绍了“Redis数据结构原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!RedisDbRedis服务器默认有16个数据库,
2023-07-05

java数据存储的原理是什么

Java数据存储的原理Java使用各种数据结构和存储机制管理内存和持久化存储中的数据。内存管理由JVM自动处理,而对象存储通过哈希码标识内存位置。集合框架提供通用数据结构。持久化存储选项包括序列化、JDBC、NoSQL存储、文件系统IO和XML。内存映射文件直接访问文件内容。DBMS允许与数据库交互。缓存通过存储频繁访问的数据来提高性能。优化数据存储性能涉及选择适当的数据结构,避免重复存储,使用缓存,优化数据库查询以及监视和调整性能。
java数据存储的原理是什么
2024-04-09

java中数据流的原理是什么

java中数据流的原理是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象
2023-06-14

prometheus存储数据的原理是什么

Prometheus是一个开源的监控系统,用于收集、存储和查询时间序列数据。它的存储数据的原理是基于一种称为TSDB(Time Series Database)的数据库引擎,该引擎专门用于存储时间序列数据。在Prometheus中,时间序
prometheus存储数据的原理是什么
2024-04-09

数据库的工作原理是什么

数据库的工作原理是指数据库系统如何存储、管理和使用数据的方式和机制。一般来说,数据库的工作原理主要包括以下几个方面:1. 数据的存储:数据库将数据以合适的格式存储在磁盘或其他存储介质中,通常使用文件或数据块的方式进行组织和管理。2. 数据的
2023-09-14

hadoop数据去重的原理是什么

Hadoop数据去重的原理是通过MapReduce模型进行实现的。具体步骤如下:1. Map阶段:将需要去重的数据集拆分成多个小块,并由多个独立的Map任务进行处理。每个Map任务读取输入数据,并对每条数据进行处理生成键值对,其中键表示数据
2023-10-19

Vue数据响应式原理是什么

本文小编为大家详细介绍“Vue数据响应式原理是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue数据响应式原理是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。响应式是什么简而言之就是数据变页面变如何实
2023-06-30

Mysql数据库group by原理是什么

这篇文章主要介绍“Mysql数据库group by原理是什么”,在日常操作中,相信很多人在Mysql数据库group by原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql数据库group b
2023-07-02

react数据绑定的原理是什么

React数据绑定的原理是通过使用虚拟DOM(Virtual DOM)和组件的状态(state)来实现的。虚拟DOM是React中的一个重要概念,它是React自己实现的一种轻量级的DOM,通过对比前后两个虚拟DOM的差异,最小化地更新真实
2023-09-13

mysql数据库底层原理是什么

这篇“mysql数据库底层原理是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql数据库底层原理是什么”文章吧。1
2023-04-22

JWT的原理和数据结构是什么

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

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录