千家信息网

pyhton数据挖掘self原理是什么

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"pyhton数据挖掘self原理是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"pyhton数据挖掘self原理是什么"吧!1. 什
千家信息网最后更新 2026年11月01日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原理是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

工厂 机器 机器人 胳膊 车间 就是 生产 时候 还是 两个 原理 数据 数据挖掘 红色 面的 产出 产品 位子 内容 大部分 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技企业 中智农互联网科技 广州淘业互联网络科技 河南云网互联网络科技有限公司 科技互联网企业 科技互联网龙头 互联网科技开发公司 深圳期待互联网科技 重庆科技学院互联网 科技大学互联网专业好不好 华脉科技工业互联网产品 互联网金融科技公司干啥的 智腾互联网科技有限公司 朱啸虎曾投资哪些互联网科技企业 互联网科技大赛获奖感言 中和天地互联网科技有限公司 世界互联网科技成果奖 唐山双旺合互联网科技产业园 互联网领先科技成果宣传视频 前海云享互联网科技 北京互联网科技 高科技与互联网 互联网科技热点资讯 昭通云南众福互联网科技有限公司 互联网科技与大数据专业 互联网科技大赛获奖感言 互联网数据科技专业 下一代互联网重大应用科技园 郑州欣桑互联网科技有限公司 绵阳真晨互联网科技有限公司
0