广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python self
  • 667
分享到

python self

python 2023-01-31 07:01:30 667人浏览 八月长安

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

摘要

最近在看python的一些代码,学习并且要掌握这些在短期内还是有一点难度的,日积月累,浮躁是个大问题。对于一个基本没从事过开发的我来说,看到Python self这个值的时候很不理解,也不知道它的含义是什么,后面经查阅相关资料才得以弄明白。

最近在看python的一些代码,学习并且要掌握这些在短期内还是有一点难度的,日积月累,浮躁是个大问题。对于一个基本没从事过开发的我来说,看到Python self这个值的时候很不理解,也不知道它的含义是什么,后面经查阅相关资料才得以弄明白。

类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。

虽然你可以给这个参数任何名称,但是强烈建议你使用self这个名称——其他名称都是不赞成你使用的。使用一个标准的名称有很多优点——你的程序读者可以迅速识别它,如果使用self的话,还有些IDE(集成开发环境)也可以帮助你。

你 一定很奇怪Python如何给self赋值以及为何你不需要给它赋值。举一个例子会使此变得清晰。假如你有一个类称为MyClass和这个类的一个实例 MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了。

这也意味着如果你有一个不需要参数的方法,你还是得给这个方法定义一个self参数。

实例1: 

  1. ========================================================================== 
  2. In [1]: class Testself: 
  3.             def testself(self): 
  4.             print "hello self!" 
  5.  
  6. In [2]: p=Testself() 
  7.  
  8. In [3]: p.testself() 
  9. hello self! 
  10.  
  11. In [4]: 
  12.  
  13. #如果去掉self的话就会报错 
  14. n [6]: class Testself: 
  15.         def testself(): 
  16.         print "hello self!" 
  17.  
  18. In [9]: p=Testself() 
  19.  
  20. In [10]: p.testself() 
  21. --------------------------------------------------------------------------- 
  22. TypeError                                 Traceback (most recent call last) 
  23.  
  24. /home/users/wul/python/<ipython console> in <module>() 
  25.  
  26. TypeError: testself() takes no arguments (1 given) 
  27.  
  28. In [11]: 
  29. ========================================================================== 

类将它们的第一个参数绑定到所属的实例上,这正是类和函数的区别。可以将特性绑定到一个普通函数上,这样就不会有特殊的self参数了
实例2:

  1. ========================================================================== 
  2. In [26]: class Testself1: 
  3.    ....:     def testself1(self): 
  4.    ....:         print 'self is must!' 
  5.    ....:     
  6.    ....:     
  7.  
  8. In [27]: def testself2(): 
  9.    ....:     print 'There is no self!oh yeah!' 
  10.    ....:     
  11.    ....:     
  12.  
  13. In [28]: test=Testself1() 
  14.  
  15. In [29]: test.testself1() 
  16. self is must! 
  17.  
  18. In [30]: test.testself1 = testself2 
  19.  
  20. In [31]: test.testself1() 
  21. There is no self!oh yeah! 
  22. ========================================================================== 

 参考文章:简明 Python 教程 Http://woodpecker.org.cn/abyteofpython_cn/chinese/ch11s02.html
Python基础编程

 

--结束END--

本文标题: python self

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

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

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • python self
    最近在看python的一些代码,学习并且要掌握这些在短期内还是有一点难度的,日积月累,浮躁是个大问题。对于一个基本没从事过开发的我来说,看到python self这个值的时候很不理解,也不知道它的含义是什么,后面经查阅相关资料才得以弄明白。...
    99+
    2023-01-31
    python
  • python的cls,self,clas
    python类里会出现这三个单词,self和cls都可以用别的单词代替,类的方法有三种,一是通过def定义的 普通的一般的,需要至少传递一个参数,一般用self,这样的方法必须通过一个类的实例去访问,类似于c++中通过对象去访问;二是在de...
    99+
    2023-01-31
    python cls clas
  • python中的this——self
        #0、python中的self相当于this ,    #1、如果调用成员变量必须使用self,    #2、self不一定叫self可以改变它的名称。    #3、在成员函数中使用self.name变量相当于声明了一个成员变量 ...
    99+
    2023-01-31
    python
  • Python要self的理由
    Python要self的理由Python的类的方法和普通的函数有一个很明显的区别,在类的方法必须有个额外的第一个参数 (self ),但在调用这个方法的时候不必为这个参数赋值 (显胜于隐 的引发)。Python的类的方法的这个特别的参数指代...
    99+
    2023-01-31
    理由 Python
  • 关于python中的self,ins ,
    关于python中的self,ins,cls的解释参考下面两篇博文首先是self: (参考http://www.cnblogs.com/linuxcat/archive/2012/01/05/2220997.html)self比较好理解,s...
    99+
    2023-01-31
    python ins
  • Python里的Self是什么
    这篇文章主要介绍“Python里的Self是什么”,在日常操作中,相信很多人在Python里的Self是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python里的Self是什么”的疑惑有所帮助!接下来...
    99+
    2023-07-06
  • python类中为什么要self?
    在python中创建类时必须有一个self参数, eg: >>> class miss: ...               def mi(self): ...             print "i like pyt...
    99+
    2023-01-31
    类中 python
  • Python中的self怎么使用
    在介绍Python的self用法之前,先来介绍下Python中的类和实例我们知道,面向对象最重要的概念就是类(class)和实例(instance),类是抽象的模板,比如学生这个抽象的事物,可以用一个Student类来表示。而实例是根据类创...
    99+
    2023-05-17
    Python self
  • 如何理解Python中的self
    这篇文章主要介绍了如何理解Python中的self的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何理解Python中的self文章都会有所收获,下面我们一起来看看吧。对于初学Python的同学来说,在clas...
    99+
    2023-07-05
  • python中self的原理是什么
    本篇文章为大家展示了python中self的原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(...
    99+
    2023-06-14
  • Python中self用法实例详解
    在介绍Python的self用法之前,先来介绍下Python中的类和实例……我们知道,面向对象最重要的概念就是类(class)和实例(instance),...
    99+
    2023-03-22
    Python中self用法 Python中self用法
  • 聊聊Python里面的Self,是谁啊?
    大家学Python面向对象的时候,总会遇到一个让人难以理解的存在:self。这个self到底是谁啊,为什么每个类实例方法都有一个参数self,它到底有什么作用呢「先下结论:类实例化后,self即代表着实例(对象)本身。」想要理解self有个...
    99+
    2023-05-15
    Python self
  • Python类中self的含义是什么
    在Python中,`self`是一个惯用的参数名,用于表示对象自身。它在类的方法中作为第一个参数传递,用于访问该对象的属性和方法。当...
    99+
    2023-10-12
    Python
  • 全面理解Python中self的用法
    刚开始学习Python的类写法的时候觉得很是麻烦,为什么定义时需要而调用时又不需要,为什么不能内部简化从而减少我们敲击键盘的次数?你看完这篇文章后就会明白所有的疑问。 self代表类的实例,而非类。 实例来...
    99+
    2022-06-04
    Python
  • python函数为什么要加入self
    python函数中需要加self的理由python的类的方法和普通的函数有一个很明显的区别,在类的方法必须有个额外的第一个参数 (self ),但在调用这个方法的时候不必为这个参数赋值 ,且Python类的方法指代的是对象本身,它需要用se...
    99+
    2022-10-23
  • 关于对python中self的深入理解
    假设有一个类nameMain(), 如最下面代码 类 : 一个抽象的模板。可以理解为抽象设计图类名:类的名字。查看/实现方式 :print(nameMain)或者print(self...
    99+
    2022-11-11
  • Python为什么要保留显式的self
    Bruce 的提议 Bruce 知道,我们需要一种方法来区分对实例变量的引用和对其它变量的引用,因此他建议将“self”设为关键字。考虑一种典型的类,它有一个...
    99+
    2022-11-11
  • Python类中__init__() 和self的详细解析
    目录1、Python中self的含义2、Python中为何要有self3、首先来看一下__init__()和self对象4、如果没有在__init__中初始化对应的实例变量的话,导致...
    99+
    2022-12-30
    python类中的__init__ python__init__用法 Python类 self
  • python实例方法中self有什么用
    今天就跟大家聊聊有关python实例方法中self有什么用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、说明无论是创建类的构造方法还是实例方法,最少要包含一个参数self。通过实...
    99+
    2023-06-15
  • 一文带你全面理解Python中的self
    目录Python类的内置属性在class里面,是不是必须使用self对于初学Python的同学来说,在class中经常看到self。那么,到底self是个啥? 这得从面向对象说起。P...
    99+
    2023-03-03
    Python self用法 Python self
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作