关于类和方法
来源:互联网 发布:seo关键词工具有哪些 编辑:程序博客网 时间:2024/06/16 17:53
关于类和方法的补充
对于初学python,对类和方法的理解绝对让很多人崩溃了。特别是里面的self,简直莫名其妙。
但python简明教程里面对这段内容其实讲解的非常清楚。
类和对象是面向对象编程的两个主要方面。类创建一个新类型,而对象这个类的 实例 。这类似于你有一个int类型的变量,这存储整数的变量是int类的实例(对象)
对象可以使用普通的 属于 对象的变量存储数据。属于一个对象或类的变量被称为域。对象也可以使用 属于 类的函数来具有功能。这样的函数被称为类的方法。这些术语帮助我们把它们与孤立的函数和变量区分开来。域和方法可以合称为类的属性。
域有两种类型——属于每个实例/类的对象或属于类本身。它们分别被称为实例变量和类变量。
类使用class关键字创建。类的域和方法被列在一个缩进块中。
对于类中的self,完全可以这样理解:
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。
所以,self只是一个比较特殊的参数,而这个参数指的就是对象本身。理解了python的内部机制,就很容易了。一个例子是这样的:
假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了。
这也意味着如果你有一个不需要参数的方法,你还是得给这个方法定义一个self参数。
其他的内容,可以在《python简明教程》这本书中找到。如果你刚好看完了《笨方法学python》,那么这本书是对前一本很好的补充。而且不会浪费很长时间,几个小时就够看完了。
- 关于类和方法
- 关于实例方法, 类方法和静态方法的思考
- 关于静态类和静态方法
- 关于excel导入的类和方法
- 关于TThread类的Suspend()方法和Resume()方法.
- 关于Object类的equals方法和hashCode方法
- python里关于类方法和静态方法的区别
- oc关于类方法和对象方法的区别
- 4、关于String类的split()方法和append()方法
- 关于类方法和实例方法的定义区分
- 关于equals()和hashCode()方法
- 关于viewWillUnload 和 viewDidUnload方法
- 关于委托,事件和方法
- 关于hashcode和equals方法
- 关于 addEventListener 和 handleEvent 方法
- 关于equals()和toString()方法
- 关于 addEventListener 和 handleEvent 方法
- 关于equals和hashcode方法
- 超直白win7性能优化方案
- 数据库day01(1)
- 3种LVS/Nginx/HAProxy负载均衡器的对比分析(MARK)
- android 条目侧滑删除 上下移位
- AS生成工程文档需要注意编码格式
- 关于类和方法
- java8 JDK1.8 API 中文 翻译版 java帮助文档
- 移动开发:使用桌面chrome调试安卓设备上的chrome和cordova app(webview)
- Android返回上一页面的方式
- JMM
- Maven学习总结(六)——Maven与Eclipse整合
- java经典案例:HelloWorld 的诞生过程!
- Retrofit源码分析 (六. Retrofit 深入ParameterHandler及其他)
- 使用Linux遇到的命令