属性+方法=对象
对象 类名+() 类名 以大写字母开头
封装 属性(变量 方法) 信息隐蔽技术
>>>list 1=[2,3,5,7,1] >>>list.sort() >>>list1 [1,2,3,5,7] >>>list.append(9) >>>list1 [1,2,3,5,7,9]继承 子类自动共享父类之间的数据和方法 如果子类定义与父类同名的方法或属性,则会自动覆盖父类对应的方法或属性
>>>list 1=[2,3,5,7,1] >>>list.sort() >>>list1 [1,2,3,5,7] >>>list.append(9) >>>list1 [1,2,3,5,7,9] >>> class Mylist(list): pass >>>list2 = Mylist() >>>list2.append(5) >>>list2.append(3) >>>list2.append(7) >>>list2 [5,3,7] >>>list2.sort() >>>list2 [3,5,7]多态 不同对象对同一方法响应不同的行动
>>> class A : def fun(self): print("我是小A...") >>> class B : def fun(self): print("我是小B...") >>> a = A() >>> b = B() >>>a.fun() 我是小A... >>>b.fun() 我是小B...指针 对象被调用时,对象自身会自动用第一个参数传给self 参数
>>>class ball; def setName(self, name); self.name = name def kick (self); print("我叫%s,该死的,谁踢我..."% self.name) >>>a = Ball() >>>a.setName('球A') >>>b = Ball() >>>b.setName('球B') >>>c = Ball() >>>c.setName('土豆') >>>a.kick() 我叫球A,该死的,谁踢我... >>>c.kick() 我叫土豆,该死的,谁踢我...name mangling 名字改编,名字重整 定义私有变量 在变量名前添加两个下划线"__"即可 访问
>>>class Person : __name = 'we' def getName(self):# 方法一 return self.__name >>>p = Person() >>>p.getName() 'we' >>>p._Person__name #方法二 使用"_类名__变量名" 'we'