Day 14 :类与对象

mac2026-05-13  0

类与对象

属性+方法=对象

对象 类名+() 类名 以大写字母开头

面向对象

封装 属性(变量 方法) 信息隐蔽技术

>>>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

指针 对象被调用时,对象自身会自动用第一个参数传给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() 我叫土豆,该死的,谁踢我...

init(self)

公有 私有

name mangling 名字改编,名字重整 定义私有变量 在变量名前添加两个下划线"__"即可 访问

>>>class Person : __name = 'we' def getName(self):# 方法一 return self.__name >>>p = Person() >>>p.getName() 'we' >>>p._Person__name #方法二 使用"_类名__变量名" 'we'

相关bif

issubclass(class,classinfo) classinfo可以是类对象组成的元祖,只要class与其中任何一个候选类的子类,则返回trueisinstance(object,classinfo) 检查一个实例对象是否属于一个类的,如果第一个参数不是对象,则永远返回false。如果第二个参数不是类或者由类对象组成的元祖,会抛出一个typeerror异常hasattr(object,name)getattr(object,name[,default])setattr(object,name,value)property(fget=None,fest=None,fdel=None,doc=None)
最新回复(0)