Python面向对象

来源:互联网 发布:php软件下载 编辑:程序博客网 时间:2024/05/23 00:25

关于哈希查找
通俗的讲哈希查找

查找手机上的联系人,一个一个找就是 顺序查找
通过首字母查找,就是哈希查找
因为
找某个联系人,如果按照姓氏找这个人,但是姓氏有很多啊,而且每个姓氏的人数又不多,这方法肯定行不通啊。
所以常规方法就是通过姓氏首字母来查找,因为字母只有26个啊。例如姓李,姓刘首字母都是L,可以理解为李和刘的哈希值都是L,哈希算法就是取拼音首字母。

http://python.jobbole.com/82023/
python的面向对象

class Foo:    def __init__(self, name, age):        self.name = name        self.age = age

init是构造器

obj1 = Foo('wupeiqi', 18)print obj1.name    # 直接调用obj1对象的name属性print obj1.age     # 直接调用obj1对象的age属性obj2 = Foo('alex', 73)print obj2.name    # 直接调用obj2对象的name属性print obj2.age     # 直接调用obj2对象的age属性如果是 def__init__(self):就是 obj3 = Foo();相当于java里的new 一个

class Foo:

def __init__(self, name, age):    self.name = name    self.age = agedef detail(self):    print self.name    print self.age
obj1 = Foo('wupeiqi', 18)obj1.detail()  # Python默认会将obj1传给self参数,即:obj1.detail(obj1),所以,此时方法内部的 self = obj1,即:self.name 是 wupeiqi ;self.age 是 18obj2 = Foo('alex', 73)obj2.detail()  # Python默认会将obj2传给self参数,即:obj1.detail(obj2),所以,此时方法内部的 self = obj2,即:self.name 是 alex ; self.age 是 78