python常用魔法方法是什么
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要介绍了python常用魔法方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python常用魔法方法是什么文章都会有所收获,下面我们一起来看看吧。一、类
千家信息网最后更新 2025年11月11日python常用魔法方法是什么
这篇文章主要介绍了python常用魔法方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python常用魔法方法是什么文章都会有所收获,下面我们一起来看看吧。
一、类和对象
通俗理解:类就是模板,对象就是通过模板创造出来的物体
类(Class)由3个部分构成:
类的名称: 类名
类的属性: 一组数据
类的方法: 允许对进行操作的方法 (行为)
二、魔法方法
在python中,有一些内置好的特定的方法,方法名是
"__xxx__",在进行特定的操作时会自动被调用,这些方法称之为魔法方法。下面介绍几种常见的魔法方法。
1.__init__方法 :初始化一个 类 ,在创建实例对象为其 赋值 时使用。
2.__str__方法:在将对象转换成字符串 str(对象) 测试的时候,打印对象的信息。
3.__new__方法:创建并返回一个实例对象,调用了一次,就会得到一个对象。
4.__class__方法:获得已知对象的类 ( 对象.class)。
5.__del__方法:对象在程序运行结束后进行对象销毁的时候调用这个方法,来释放资源。
三、理解self
self和对象指向同一个内存地址,可以认为self就是对象的引用。
# 创建一个类 class Car(object): # 创建一个方法打印 self 的id def getself(self): print('self=%s'%(id(self))) bmw = Car() print(id(bmw))bmw.getself() '''输出140033867265696 140033867265696 '''所谓的self,可以理解为对象自己,某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可。
# 创建一个类 class Car(object): def __init__(self,name,colour): self.name = name self.colour = colour # 创建一个方法打印 self 的id def getself(self): print('self=%s'%(id(self))) bmw = Car('宝马','黑色') # 实例化对象时,self不需要开发者传参,python自动将对象传递给self print(id(bmw)) bmw.getself()四、练习对战
做两个人物对战
import randomimport time#定义类class hero(object): # 定义属性 def __init__(self,name,blood,dblood,ablood): self.name=name#名字 self.blood=blood#血量 self.dblood=dblood#这是减少的血量 self.ablood=ablood #定义方法 # 互捅 def tong(self,enemy): enemy.blood-=self.dblood print('%s砍掉了%s%d的血量'%(self.name,enemy.name,self.dblood)) def addblood(self): self.blood+=self.ablood print('%s吃了一颗补血药,加了%d血量'%(self.name,self.ablood)) def __str__(self): return '%s 还剩下 %s 血' % (self.name, self.blood)xm = hero('西门吹雪',100,random.randint(10,20),random.randint(10,20))ygc = hero('叶孤城',100,random.randint(10,20),random.randint(10,20))x=[1,2]while xm.blood>=0 or ygc.blood>=0: if xm.blood<=0: print('%s获胜'%ygc.name) break pass elif ygc.blood<=0: print('%s获胜'%xm.name) break if 10<=xm.blood <=20: xm.addblood() pass elif 10 <= ygc.blood <= 20: ygc.addblood() pass if random.choice(x)%2==0: xm.tong(ygc) print(ygc) print(xm) else: ygc.tong(xm) print(ygc) print(xm) print('***'*10) time.sleep(1) pass关于"python常用魔法方法是什么"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"python常用魔法方法是什么"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
方法
对象
魔法
常用
实例
就是
知识
内容
参数
属性
开发者
时候
模板
篇文章
开发
通俗
两个
个部
人物
价值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
连接不上自己wifi的服务器
南京迈康网络技术有限公司
数据库原理与应用 课程标准
软件开发企业对外销售
客户服务器模式和对等模式特点
查重后会被上传数据库吗
宝宝巴士网络安全
小学报名服务器异常是怎么回事
日本软件开发大学
数据库将查询结果相加
中专网络技术考哪些证书
代做网络安全实验报告
山西专业软件开发服务价钱
软件开发怎么进体制内
成都广联先锋网络技术有限公司
社旗警方网络安全周
珠海教育软件开发定制
c 数据库计数
苏州java软件开发管理
联想服务器能装ubuntu
资源环境数据库
软件开发门槛排名
软件开发文档版本控制工具
mdt单片机软件开发
单位网络安全相关工作制度
江西什么是软件开发服务应用
晋城展厅多媒体软件开发公司
游戏服务器被炸可以起诉吗
网络安全校园日知识问答
人工智能跟软件开发的联系