[Python 07] 更加抽象

来源:互联网 发布:淘宝商城相框 编辑:程序博客网 时间:2024/05/16 23:52
 python主要的内建对象类型 (数字,字符串,列表,元组和字典) 面向对象的语言python : 多态,封装,方法,特性,超类,继承!@学习摘录 701:对象的魔力 * 多态 : 意味着可以对不同类的对象使用同样的操作! * 封装 : 对外部隐藏对象的工作细节。 * 继承 : 以普通的类为基础建立专门的类对象。@学习摘录 702:多态无处不在!>>> 'abc'.count('a')1>>> ['a', 2, 'a', 3].count('a')2>>> 1+23>>> 'dog'+'cat''dogcat'------------702.py-------------------------#!/usr/bin/python#coding utf-8def add(x, y) :    return x + yprint add(1, 2)print add('Hi', '--Tom!')hp@ubuntu:~/py$ python 702.py3Hi--Tom!------------------------------------------@学习摘录 703:创建自己的类!#!/usr/bin/python#coding: utf-8 __metaclass__ = type # 确定使用新式类class Person :    def setName(self, name) :        self.name = name    def getName(self) :        return self.name    def greet(self) :        print "Hello, world! I'm %s." % self.namefoo = Person()bar = Person()foo.setName('Jim')bar.setName('Tom')foo.greet()bar.greet()print "陈立宾"print type(bar)------------------------------------------@学习摘录 704:python并不直接支持私有方式class Secretive :    def __inaccess(self) :        print "Bet you can't see me..."    def access(self) :        print "The secret message is :"        self.__inaccess()>>> s = Secretive()>>> s.access()>>> s.__inaccess() 出错>>> Secretive._Secretive__inaccess()确保其他人不会访问对象的方法和特性是不可能的,但是这类 “名称变化术”就是他们不应该访问这些函数或者特性的强有力信号! -- 完成私有也可以使用单下划线,不过是个习惯,但确实有效果。  例如,前面有下划线的名字都不会被带星号的 imports 语句 (from module import *) 导入!@学习摘录 705:类的命名空间  像方法一样,类作用域内的变量也可以被所有实例访问。@学习摘录 706:指定超类@学习摘录 707:调查继承