python常用魔法方法是什么
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍了python常用魔法方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python常用魔法方法是什么文章都会有所收获,下面我们一起来看看吧。一、类
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
maven服务器配置
软件开发类公司的男女比例
荆门万博网络技术学校是否改名
如何管控信息系统及网络安全
洛阳平贶网络技术有限公司
向数据库中写入数据
JDBC数据库应用技术
如何查看海康服务器资源占用
报考网络安全专业
易语言 数据库 写
简述防范网络安全应该注意什么
网络安全宣传周属于会展吗
阿里云服务器减少磁盘大小
网络技术思路
宁波软件开发政策补贴
学校网络安全志愿者活动
河南企业管理软件开发
艾尔登法环为什么登不了服务器
腾讯云服务器的源码怎么下载下来
中国城市市场化指数数据库
家里的电脑开游戏服务器
南昌鲲鹏服务器什么价格
数据库与数据处理的先后关系
宁波软件开发政策补贴
服务区食品安全风险数据库
网络安全防范新说
学校机房无网络服务器
网络安全法的文章
软件开发创始人是谁
学通信可以做嵌入式软件开发吗