python之面向对象02
在python中方法名如果是__xxxx__()
的,那么就有特殊的功能,因此叫做“魔法”方法
1. __init__()方法
1 class Cat: 2 def __init__(self,newname,newage): 3 self.name = newname 4 self.age = newage 5 6 def eat(self): 7 print("%s在吃鱼。"%self.name) 8 def drink(self): 9 print("%s在喝奶茶。"%self.name) 10 def introduce(self): 11 print("名字是:%s,年龄是:%d"%(self.name,self.age)) 12 tom = Cat("汤姆",5) 13 tom.eat() 14 tom.drink() 15 tom.introduce()
总结
__init__()
方法,在创建一个对象时默认被调用,不需要手动调用__init__(self)
中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)
中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)
__init__(self)
中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去
2. __str__()方法
1 class Cat: 2 def __init__(self,newname,newage): 3 self.name = newname 4 self.age = newage 5 def __str__(self): 6 # 返回一个对象的描述信息 7 return "名字是:%s,年龄是:%d"%(self.name,self.age) 8 9 # def eat(self): 10 # print("%s在吃鱼。"%self.name) 11 # def drink(self): 12 # print("%s在喝奶茶。"%self.name) 13 # def introduce(self): 14 # print("名字是:%s,年龄是:%d"%(self.name,self.age)) 15 tom = Cat("汤姆",5) 16 print(tom) 17 # tom.eat() 18 # tom.drink() 19 # tom.introduce()
总结:
- 当使用print输出对象的时候,只要自己定义了
__str__(self)
方法,那么就会打印从在这个方法中return的数据。 __str__
方法需要返回一个字符串,当做这个对象的描写。
代码成就万世基积沙镇海
梦想永在凌云意意气风发
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?