《python基础教程(第二版)》学习笔记 类和对象(第7章)
《python基础教程(第二版)》学习笔记 类和对象(第7章)
定义类
class Person:
def setName(self,name):
self.name=name
def getName(self):
return self.name
foo=Person()
foo.setName('AAA')
foo.getName()
foo.name
foo.name='BBB'
私有属性,名字前面加上两个下划线。
class Person:
def __setName(self,name):
self.name=name
def __getName(self):
return self.name
class Person:
members=0 #供全部实例访问
def init(self):
Person.members+=1 #供全部实例访问
def setName(self,name):
self.name=name
def getName(self):
return self.name
__metaclass__=type
class Filter:
def init(self):
self.blocked=[]
def filter(self, sequence):
return [x for x in sequence if x not in self.blocked]
class SPAMFilter(Filter): #子类扩展了超类
def init(self):
self.blocked=['SPAM'] #重写了init方法
issubclass(SPAMFilter, Filter) ==> True
SPAMFilter.__bases__ ==> (<class __main__.Filter at 0x0000000002E511C8>,)
isinstance(foo, SPAMFilter) ==> False
hasattr(foo, 'name') ==> True
查看对象内所有存储的值,用 __dict__属性。
foo.__dict__ ==> {'name': 'AAA'}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步