类的成员,类的特殊方法
类的成员:
在类中的私有字段和私有方法是不能被类意外的方法调用的。只能在类的内使用。
在普通字段和方法前加两个下划线就可以把普通字段定义成私有字段或方法。
在子类中,不能执行父类中的方法,不能获得父类的字段。示例:
class bar(): def __init__(self): self.name = 'bar_name' self.__age = 18 def get_age(self): return (self.__age) class b(bar): def __init__(self): self.__b_age = 17 super(b,self).__init__() def show(self): print ('class bar name is {}'.format(self.name)) print ('__b_age is {}'.format(self.__b_age)) # print ('__age is {}'.format(self.__age)) self.bar__age = super(b,self).get_age() print (self.bar__age) obj = b() obj.show() # class bar name is bar_name # __b_age is 17 # 18
类中的特殊成员
class bar(): def __init__(self): print ('bar __init__ month!') def __call__(self, *args, **kwargs): print ('__call__ month') def __int__(self): # default int number. return 1 def __str__(self): return 'string value' obj = bar() obj() int(obj) # str(obj) print (obj) # bar __init__ month! # __call__ month # string value
obj = bar() 执行 __init__ 方法
obj() 执行 __call__ 方法
int(obj) 执行 __init__ 方法
print (obj) 执行 __str__ 方法
类中比较重要的内部方法:
__getitem__ -> obj['test']
__setitem__ -> obj[213] = 98
__delitem__ -> del obj['test_key']
class bar(): def __init__(self): print ('bar __init__ month!') def __getitem__(self, item): return ('getitem index value is: {}'.format(item)) def __setitem__(self, key, value): # default int number. print ('{} = {}'.format(key,value)) def __delitem__(self, key): print ('is delitem values: {}'.format(key)) obj = bar() print (obj['test']) obj[213] = 98 del obj['test_key'] # bar __init__ month! # getitem index value is: test # 213 = 98 # is delitem values: test_key
25day类成员方法切片
test
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用