Python面向对象
来源:互联网 发布:mac怎么给ps安装字体 编辑:程序博客网 时间:2024/06/05 16:45
- Python内置对象
- __dict__ : 类的属性(包含一个字典,由类的数据属性组成)
- __doc__ :类的文档字符串
- __name__: 类名
- __module__: 类定义所在的模块(类的全名是’__main__.className’,如果类位于一个导入模块mymod中,那么className.__module__ 等于 mymod)
- __bases__ : 类的所有父类构成元素(包含了一个由所有父类组成的元组)
- 面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。
- 类的继承在python中的一些特点:
1:在继承中基类的构造(__init__()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。
2:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别于在类中调用普通函数时并不需要带上self参数
3:Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。 - 类的继承:
class SubClassName (ParentClass1[, ParentClass2, ...]): 'Optional class documentation string' class_suite
- 类的方法重写:
#!/usr/bin/python# -*- coding: UTF-8 -*-class Parent: # 定义父类 def myMethod(self): print '调用父类方法'class Child(Parent): # 定义子类 def myMethod(self): print '调用子类方法'c = Child() # 子类实例c.myMethod() # 子类调用重写方法
- 检测父类和子类:
- issubclass() - 布尔函数判断一个类是另一个类的子类或者子孙类,语法:issubclass(sub,sup)
- isinstance(obj, Class) 布尔函数如果obj是Class类的实例对象或者是一个Class子类的实例对象则返回true。
- 基础重载方法:
- 1 __init__ ( self [,args…] )构造函数,简单的调用方法: obj = className(args)
- 2 __del__( self ),析构方法, 删除一个对象,简单的调用方法 : dell obj
- 3 __repr__( self ),转化为供解释器读取的形式,简单的调用方法 : repr(obj)
- 4 __str__( self ),用于将值转化为适于人阅读的形式,简单的调用方法 : str(obj)
- 5 __cmp__ ( self, x ),对象比较,简单的调用方法 : cmp(obj, x)
- 类属性与方法
- 类的私有属性
- __private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs。
类的方法 - 在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数
类的私有方法 - __private_method:两个下划线开头,声明该方法为私有方法,不能在类地外部调用。在类的内部调用 self.__private_methods
- Python不允许实例化的类访问私有数据,但你可以使用 object._className__attrName 访问属性
0 0
- python 面向对象
- python面向对象初步
- python面向对象
- Python面向对象详解
- python面向对象编程
- python面向对象
- python 面向对象
- python 面向对象编程
- python面向对象编程
- python面向对象编程
- python 面向对象笔记
- Python 面向对象编程
- Python面向对象编程
- python面向对象1
- Python面向对象详解
- Python 面向对象编程
- python面向对象1
- Python面向对象基础
- oracle用户密码修改
- 数据可视化基本图表
- 软件架构入门
- WPF 制作带TreeView的ComBox
- Linq-延迟查询
- Python面向对象
- 基本知识-数组
- 笨鸟先飞——Java基础Set集合学习
- expect中interact和expect eof使用的一些小问题
- 0001-字节,字,bit,byte之间的关系
- Mysql Join语法解析与性能分析
- ubuntu下使用qemu模拟ARM(三)------编译内核
- 8-1
- 基本对话框