Python中self的理解
来源:互联网 发布:怎么注册阿里云邮箱 编辑:程序博客网 时间:2024/05/16 07:21
虽然你可以给这个参数任何名称,但是 强烈建议 你使用self这个名称——其他名称都是不赞成你使用的。使用一个标准的名称有很多优点——你的程序读者可以迅速识别它,如果使用self的话,还有些IDE(集成开发环境)也可以帮助你。
你一定很奇怪Python如何给self赋值以及为何你不需要给它赋值。举一个例子会使此变得清晰。假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了。
这也意味着如果你有一个不需要参数的方法,你还是得给这个方法定义一个self参数。
#!/usr/bin/python# Filename: method.pyclass Person: def sayHi(self): print 'Hello, how are you?'p = Person()p.sayHi()# This short example can also be written as Person().sayHi()
输出:Hello, how are you?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以上内容节选自我现在看的一本书《Python简明教程》,内容基于python2.3,和现有版本可能有些出入,阅读需谨慎...
看过书上的介绍之后,自己上网查了一下,发现各种大牛写的东西,貌似也就是基于上面的这些介绍的~
拓展一下:
self在Python里不是关键字。self代表当前对象的地址。self能避免非限定调用造成的全局变量。
self是一种习惯,如上面的程序,把sayHi(self)换成sayHi(fles),同样可以得到正确的输出。但是网上看有些人说把p.sayHi()换成p.sayHi(p),同样可以得到相同的输出,我尝试了一下,但是没有成功,感觉应该是我的python版本原因吧。(本机装的是python3.2)...
- Python中self的理解
- Python中self的理解
- Python中self的理解
- Python中self的理解
- Python中默认参数self的理解
- Python中默认参数self的理解
- Python中self的理解(一)
- Python中self的理解(二)
- Python中默认参数self的理解
- 关于Python中定义类时 self 的理解
- Python中默认参数self的理解[转]
- Python中self的含义
- python中self的作用
- Python中self的含义
- Python中self的含义
- [python]对self和_init_的理解
- python学习过程对self的理解
- python中的self理解
- 操纵线性表的几种方式
- PB8.0中,加超链接。
- uboot分析 (2009-02-06 15:37)
- Android 服务的生命周期
- Unix/Linux下C/C++开发技术概览-平台差异简介
- Python中self的理解
- 13、关于结构体对齐的问题
- asp.net伪静态
- etElementByID getElementsByName getElementsByTagName的区别和总结
- 关于静态库以及调用
- WinCE OAL中的电源管理函数
- 一个Javacript callback注册与调用的例子
- 项目管理学习笔记之二范围管理过程总结
- java中传参数时,在类型后面跟"..."的使用