码迷,mamicode.com
首页 > 编程语言 > 详细

python笔记四:面向对象

时间:2015-03-17 23:17:32      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

1.类

class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = score

  1)__init__构造方法,__init__方法的第一个参数永远是self,表示创建的实例本身,调用时,不用传递该参数。

  2)__del__   析构函数,释放对象时使用

  3)__call__函数调用

2.一个简单的例子:

class Studet(object):
    def __init__(self,name,score):
        self.name=name
        self.score=score
    def print_score(std):
        print %s: %s % (std.name, std.score)
    def get_grade(self):
        if self.score >= 90:
            return A
        elif self.score >= 80:
            return B
        elif self.score >=70:
            return C
        else :
            return D
ares=Studet(ares,90)
ares.print_score()
print The score grade is :,ares.get_grade()

3.变量:

  1)__ares表示ares为 私有变量 (private),只有内部可以访问,外部不能访问

  2)以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的

  3)以一个下划线开头的实例变量名,比如_name,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。

4.处理函数:

  1)type()函数:判断对象类型

  2)isinstance()函数:判断class的类型

  3)dir()函数:获得一个对象的所有属性和方法

5.继承和多态:

  1)继承模板

  class Animal(object):

    def fun():

      pass

  class Dog(Animal):

    pass

  class Cat(Animal):

    pass

  Animal为Dog和Cat的父类。

  2)优点:

  a.继承可以把父类的所有功能都直接拿过来,这样就不必重零做起,子类只需要新增自己特有的方法,也可以把父类不适合的方法覆盖重写;

  b.多态

6.多重继承:

  类在继承关系时,通常,主线都是单一继承下来的,如果需要“混入”额外的功能,通过多重继承就可以实现。

  class Animal(object):

    def fun():

      pass

  class Runnable(object):

    def run(self):

      print(‘Running...‘)

  多重继承:

  class Dog(Animal, Runnable):

    pass

python笔记四:面向对象

标签:

原文地址:http://www.cnblogs.com/xp12/p/4345681.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!