`

关于python中self的理解

 
阅读更多
self可以这么理解
class就是表示“汽车” 然后__init__是一些汽车的基本定义,比如要有发动机,要有方向盘 在这个定义的过程中,可能需要一种引用,比如现在北京要求汽车都要装自检测系统,监测系统统计数据必定是某一辆车它自身的,是一个“实例”邦定的行为,你的检测功能不会也不允许去收集其他汽车的数据. 
1 # -*- coding: cp936 -*-
2 class 汽车:
3     自检测(这辆车,x,y......):
4         这辆车.get发动机转数()
5         这辆车.get里程表()

...... 这里self就特指这辆车它本身,__init__可以理解为自检测。 

类/对象可以拥有像函数一样的方法,这些方法与函数的区别只是一个额外的self变量。 
 
个人理解:为什么说方法与函数的区别是一个额外的self变量呢?可能是因为每个类的实例/对象的方法只能在它自己的实例/对象的范围里面起作用,故要加self来区分;而函数是在任何时候都可以引用,没有类的界限。
分享到:
评论

相关推荐

    全面理解Python中self的用法

    Python中看到或使用self时一定要弄明白self的指代,这里就带大家来全面理解Python中self的用法,需要的朋友可以参考下

    Python类中self参数用法详解

    self名称不是必须的,在python中self不是关键词,你可以定义成a或b或其它名字都可以,但是约定成俗(为了和其他编程语言统一,减少理解难度),不要搞另类,大家会不明白的。 下例中将self改为myname一样没有错误: ...

    深入浅析python 中的self和cls的区别

    python 中的self和cls 一句话描述:self是类(Class)实例化对象,cls就是类(或子类)本身,取决于调用的是那个类。 @staticmethod 属于静态方法装饰器,@classmethod属于类方法装饰器。我们需要从声明和使用两个...

    learning python by self,人工智能.zip

    它融合了计算机科学、数学、统计学、心理学、神经科学等多个学科的知识,并利用深度学习、机器学习等算法,使计算机能够从数据中学习、理解和推断。 在实际应用中,人工智能体现在诸多领域:如机器人技术,其中...

    Python类class参数self原理解析

    6.self不是python的关键字,也可以用其他名称命名,但是为了规范和便于读者理解,推荐使用self。 python中的self等价于C++中的self指针和Java、C#中的this参数。 7.如果不加self,表示是类的一个属性(可以通过”...

    python self,cls,decorator的理解

    1. self, cls 不是关键字 在python里面,self, cls 不是关键字,完全可以使用自己写的任意变量代替实现一样的效果 代码1 复制代码 代码如下:class MyTest: myname = ‘peter... 结论 : self和cls只是python中约定的写法

    python练手经典100例-推荐几个适合新手练手的Python项目《python入门例子》.pdf

    ⾄于说没有run()没有参数self,⽽是参数cls,为什么可⽤,那就是装饰器@classmethod在起作⽤了,理解了装饰器,就知道这个问题的 答案了。不然的话,还有@staticmethod可以让⽅法连cls⽅法都不需要⼜怎么说。 ...

    Python中Class类用法实例分析

    本文实例讲述了Python中Class类用法。分享给大家供大家参考,具体如下: 尽管Python在Function Programming中有着其他语言难以企及的的优势,但是我们也不要忘了Python也是一门OO语言哦。因此我们关注Python在FP上的...

    Python面向对象中类(class)的简单理解与用法分析

    本文实例讲述了Python面向对象中类(class)的简单理解与用法。分享给大家供大家参考,具体如下: 我们先来创建一个简单的类 class Fish(object): pass xiaoming = Fish() 一个基础类(base class) Fish(鱼)类就...

    深入理解Python 关于supper 的 用法和原理

    Python 面向对象中有继承这个概念,初学时感觉很牛逼,里面也有个super类,经常见到,最近做一些题才算是理解了。特地记录分享给后来研究的小伙伴,毕竟现在小学生都开始学了(滑稽脸) 二、代码 直接上干货,能把...

    深入理解Python中的super()方法

    python语言与C++有相似的类继承,在类定义时,python中会自定义第一个self,类似C++中this指针,指向对象自身。 python简单的类举例: >>> class hello(object): ... def print_c(): ... printhello world! >>> ...

    Python中@property的理解和使用示例

    本文实例讲述了Python中@property的理解和使用。分享给大家供大家参考,具体如下: 重看狗书,看到对User表定义的时候有下面两行 @property def password(self): raise AttributeError('password is not a ...

    深入理解Python中各种方法的运作原理

    方法在Python中是如何工作的 方法就是一个函数,它作为一个类属性而存在,你可以用如下方式来声明、访问一个函数:   >>> class Pizza(object): ... def __init__(self, size): ... self.size = size ... def get...

    python中对_init_的理解及实例解析

    首先,self是在类的方法中的,在调用此方法时,不用给self赋值,Python会自动给他赋值,而且这个值就是类的实例–对象本身。也可以将self换成别的叫法例如seef,但不建议,因为大家习惯也默认了写成self。 二、self...

    详解Python中打乱列表顺序random.shuffle()的使用方法

    现在有个需求需要将列表的次序打乱,或者也可以这样理解: 【需求】将一个容器中的数据每次随机逐个遍历一遍。 random.shuffle()方法提供了完美的解决方案。 不会生成新的列表,只是将原列表的次序打乱 # ...

    理解Python垃圾回收机制

    Python中的垃圾回收是以引用计数为主,分代收集为辅。引用计数的缺陷是循环引用的问题。 在Python中,如果一个对象的引用数为0,Python虚拟机就会回收这个对象的内存。 #encoding=utf-8 __author__ = 'kevinlu1010@...

    【仅用于个人整理记忆】Python中列表的pop()函数用法

    如标题所示,因本人为深度学习路上的新手,文章仅用于辅助个人的整理记忆,理解难免有偏差之处,都是个人拙见,如给其他同僚造成困扰,还请见谅,非常非常非常欢迎私信共同讨论,共同进步 函数名:pop() 作用:删除...

    python的多重继承的理解

    python的多重继承的理解 Python和C++一样,支持多继承。概念虽然容易,但是困难的工作是如果子类调用一个自身没有定义的属性,它是按照何种顺序去到父类寻找呢,尤其是众多父类中有多个都包含该同名属性。 对经典类...

    浅谈python 中类属性共享的问题

    感觉这种理解有问题,举个例子来说。 class Dog(object): name = 'dog' def init(self): self.age = 18 d1 = Dog() d2 = Dog() 这里有两个实例 d1,d2 吧。 d1.name # 输出 dogd2.name # 输出 dogd1.name = '...

Global site tag (gtag.js) - Google Analytics