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

python self

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

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基础编程

 

免责声明:

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

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

python self

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

下载Word文档

猜你喜欢

python self

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

python中的this——self

#0、python中的self相当于this ,    #1、如果调用成员变量必须使用self,    #2、self不一定叫self可以改变它的名称。    #3、在成员函数中使用self.name变量相当于声明了一个成员变量    #4
2023-01-31

python中self怎么使用

python 中的 self 是一个特殊变量,用于引用当前实例,允许对象访问其自身的数据和方法。在类方法和实例方法中,它应作为第一个参数使用,尤其当方法需要访问对象私有数据、调用另一个对象的私有方法或修改对象状态时。此外,self 可用于静
python中self怎么使用
2024-05-22

python的cls,self,clas

python类里会出现这三个单词,self和cls都可以用别的单词代替,类的方法有三种,一是通过def定义的 普通的一般的,需要至少传递一个参数,一般用self,这样的方法必须通过一个类的实例去访问,类似于c++中通过对象去访问;二是在de
2023-01-31

Python要self的理由

Python要self的理由Python的类的方法和普通的函数有一个很明显的区别,在类的方法必须有个额外的第一个参数 (self ),但在调用这个方法的时候不必为这个参数赋值 (显胜于隐 的引发)。Python的类的方法的这个特别的参数指代
2023-01-31

关于python中的self,ins ,

关于python中的self,ins,cls的解释参考下面两篇博文首先是self: (参考http://www.cnblogs.com/linuxcat/archive/2012/01/05/2220997.html)self比较好理解,s
2023-01-31

Python里的Self是什么

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

Python中的self的介绍

Python中的self的介绍在Python中,self是一个特殊的关键字,用于表示类的实例对象本身。在类的方法中,通过self来引用对象的属性和方法。self参数并不是Python强制规定的,可以使用其他任意名称代替,但是习惯上都使用s
Python中的self的介绍
2024-02-23

python类中为什么要self?

在python中创建类时必须有一个self参数,eg: >>> class miss: ...              def mi(self):...             print "i like python" ...  >>
2023-01-31

如何理解Python中的self

这篇文章主要介绍了如何理解Python中的self的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何理解Python中的self文章都会有所收获,下面我们一起来看看吧。对于初学Python的同学来说,在clas
2023-07-05

python中self的原理是什么

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

python实例方法中self有什么用

今天就跟大家聊聊有关python实例方法中self有什么用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、说明无论是创建类的构造方法还是实例方法,最少要包含一个参数self。通过实
2023-06-15

Python中self用法实例详解

这篇文章主要介绍了Python中self用法详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-03-22

全面理解Python中self的用法

刚开始学习Python的类写法的时候觉得很是麻烦,为什么定义时需要而调用时又不需要,为什么不能内部简化从而减少我们敲击键盘的次数?你看完这篇文章后就会明白所有的疑问。 self代表类的实例,而非类。 实例来说明:class Test:def
2022-06-04

使用python怎么在变量中添加self

这篇文章给大家介绍使用python怎么在变量中添加self,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、说明前缀带self的变量,就是在整个类的代码块里面类似是作为全局变量,如果变量前面加了self,那么在任何实例
2023-06-15

Python类中self的含义是什么

在Python中,`self`是一个惯用的参数名,用于表示对象自身。它在类的方法中作为第一个参数传递,用于访问该对象的属性和方法。当定义一个类的方法时,需要使用`self`参数来引用对象的实例变量和方法。通过使用`self`参数,我们可以在
2023-10-12

python教程:__new__ 和 __init__及cls和self

1、__new__ 和 __init__两者的区别:__new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例对象,是个静态
python教程:__new__ 和 __init__及cls和self
2024-02-02

编程热搜

  • 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动态编译

目录