面向对象编程
类
'数据封装、继承和多态是面向对象的三大特点'
__anthor__ = 'Chen Yu'
import types
class Student(object):
"""docstring for Student"""
def __init__(self, name, score):
self.name = name
self.score = score
def print_score(self):
print '%s:%s' % (self.name,self.score)
def get_grade(self):
if self.score >= 90:
print 'A'
elif self.score >= 80:
print 'B'
elif self.score >= 70:
print 'C'
elif self.score >= 60:
print 'D'
else:
print 'E'
bart = Student('Bart Simpson',100)
print bart
print bart.name,bart.score
bart.age = 8
print bart.age
bart2 = Student('Bart Simpson',100)
bart2.print_score()
bart2.get_grade()
class Student2(object):
"""docstring for Student2"""
def __init__(self, name, score):
self.__name = name
self.__score = score
def print_score(self):
print '%s:%s' % (self.__name,self.__score)
def get_grade(self):
if self.__score >= 90:
print 'A'
elif self.__score >= 80:
print 'B'
elif self.__score >= 70:
print 'C'
elif self.__score >= 60:
print 'D'
else:
print 'E'
def get_name(self):
return self.__name
def get_score(self):
return self.__score
class Animal(object):
"""docstring for Animal"""
def __init__(self):
pass
def run(slef):
print 'Animal is running'
class Dog(Animal):
def __init__(self):
pass
def eat(slef):
print 'Eating meat...'
def run(slef):
print 'Dog is running...'
class Cat(Animal):
def __init__(self):
pass
def run(self):
print 'Cat is running...'
def run_twice(animal):
animal.run()
animal.run()
print run_twice(Animal())
print run_twice(Dog())
print run_twice(Cat())
dog = Dog()
dog.run()
cat = Cat()
cat.run()
print type(abs)
print type(123)==type(456)
print type('abc')==types.StringType
print type(u'abc')==types.UnicodeType
print type([])==types.ListType
print type(str)==types.TypeType
print isinstance(cat,Cat)
print isinstance(cat,Dog)
print dir(Dog)
print dir('ABC')
class MyObject(object):
def __init__(self):
self.x = 9
def power(self):
return self.x * self.x
obj = MyObject()
hasattr(obj, 'x')
print obj.x
print hasattr(obj, 'y')
setattr(obj, 'y', 19)
print hasattr(obj, 'y')
print getattr(obj, 'y')
print obj.y
print len('sa')