Python Class

来源:互联网 发布:淘宝买家怎样增加信誉 编辑:程序博客网 时间:2024/05/16 14:13
class and class instance 类:类名遵循CamelCase,所有成员都是public,所有成员函数都是虚函数,函数中显示指定第一个参数是对象自身,调用时则隐式引用对象
获取class元信息:
   obj.__dict__
   instance.__class__  = type(instance)
class.__bases__
class.__name__
class.__subclasses__                         

Class Object: 支持两种操作,属性引用 ClassName.attributeName,ClassName.funcName返回方法对象,
         以及实例化:def __init__(self, p1,2...)
Instance Object: data attribute不用声明即可使用,会在第一次使用时创建
Method Object: 须先在类中定义

class定义:
class ClassName:
    class_variable1
    class_variable2.
    def __init__(self, ...args) //init constructor
      self.object_attri1=...
      self.object_attri2=...
    function_object1..
    ...
    function_objectN..

构造方法初始化: __init__
属性应用: data attribute and function object,data attribute不需要被声明

Python支持多继承
class DerivedClassName(Base1,Base2...):
 statement1...
     ...
     statementN...

Python中不存在私有变量,只是约定_开头成员就是private

Iterator & Generator
Iterator: 拥有 __next__()方法,当没有元素后,next(iterator)返回StopIteration
iter(contaion)调用container.__iter__()返回一个iterator,next(iterator)调用iterator.__next__()
Generator:使用yield返回数据的函数,本质是个iterator,只是__iter__()和__next__()会自动产生,而且会保存本地变量和方法的执行状态









0 0
原创粉丝点击