特殊方法的名字以两个下划线开头,以两个下划线结尾,例如: str,call,dict,doc,new,delall

(1):str 如果一个类中定义了__str__方法,在打印对象时,默认输出该方法的返回值,没有定义会返回对象的地址

    1:没有调用__str__方法,输出结果是一个对象的地址

调用__str__方法,输出结果是该方法的返回值

总结:实例化对象时会调用__str__()方法,如果没有定义__str__()方法会打印一个对象的地址,如果定义__str__()并且有返回值,就会打印其中的返回值

(2):call 如果一个类中定义了__call__方法,对象后面加括号,会触发执行__call__方法

(3):dict 查看类或对象中的所有成员

(4):doc 每个对象都会有一个__doc__属性,用于描述该对象的作用,相当于注解

(5):new 生成一个对象,new__优先于__init,如果定义__new__方法有返回值才会调用__init__,反之则不会调用

(6):del 析构方法,删除无用的内存对象(当程序结束会自动自行析构方法) 

import random#武器
class Wuqi():def __init__(self):#名称self.name = ["春秋阙","绣春刀","渊虹","大夏龙雀","碧血长风","黑月之泪","冰魄银针","擂鼓瓮金锤",'天问','太一的眼镜','贝爷的刀','会消失的飞刀','变异的蛇','五彩的屎','草原上的弓','螺旋升天斩']#品质self.pinzhi = ["彩色", "金色", "橙色", "紫色", "蓝色", "白色", "五彩"]# 等级self.dengji = ["新手",5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100]#武器随机等级def wuQidengji(self):a = random.choice(self.dengji)return '武器等级:{}\n'.format(a)# 武器随机品质def wuQipinzhi(self):b = random.choice(self.pinzhi)return "武器品质:{}\n".format(b)#武器随机名字def wuQiname(self):c = random.choice(self.name)return '武器名称:{}\n'.format(c)def __str__(self):return "{}{}{}".format(self.wuQiname(),self.wuQidengji(),self.wuQipinzhi())
#动作
def dongzuo():dt = ['你死了', '你在地上爬', '你在奔跑', '你在上小学', '你在上中学', '你在尿床', '你在学习说话', '你在练舞','你在练习童子功', '你在打麻将', '你跳崖了', '你飞升了']a = random.choice(dt)return a
#世界
class Shijie():def __init__(self):self.nandu = ['炼狱', '地狱', '困难', '正常', '简单']self.name = ['幻碧大陆','幽冥大陆','皞皑大陆','五行大陆','魂武大陆','原始大陆','鸿蒙大陆','剑修大陆','灵武大陆','圣魂大陆','神陨大陆','拉维斯大陆','纳尼亚大陆','绝世界','玄欢空间']#随机世界难度def shiJieshuiji(self):a = random.choice(self.nandu)return '你要前往的世界难度是:{}\n'.format(a)#随机世界def shiJie(self):a = random.choice(self.name)return '你将要前往的世界是:{}\n'.format(a)def __str__(self):return "{}{}".format(self.shiJie(),self.shiJieshuiji())
#勇者
class Yongzhe():# 年龄,{100,130,190,189,123,137,700,900,133,2124,1555,11313,11,1111,23,2,3,4,14,12}# 技能,{"魅惑","魅惑之吻","鞭挞","炎爆","随机召唤宠物","随机召唤恶魔","破风斩","死亡雷射"}# 天赋 {"都是世界的错","10倍暴击伤害","10倍攻击速度","天命在我","寒冰领域","火焰领域","无限火力","世界之子"}def __init__(self):#种类self.zhonglei = ["人类","恶魔","兽人","妖精","精灵","矮人","半兽人","魔物","天使","天神","鬼神","魔鬼"]#姓名#等级self.dengji = [10,30,90,89,23,37,70,90,33,24,15,13,11,81,23,62,53,44,14,12]#技能self.jineng = ["旋龙幻杀","百鬼夜行","狱火炼魂","绝圣弃智","魔魂天咒","霸天戮杀","邪神傲世","缠绵","碧影","逍遥游","真元华闪","冰心诀","玄妙镜","魅惑","魅惑之吻","鞭挞","炎爆","随机召唤宠物","随机召唤恶魔","破风斩","死亡雷射"]#天赋self.tianfu = ["蛮横之力","思想之力","武器专精","奥术知识","硬化皮肤","荣誉护卫","精神扩张","物质转换","坚毅","冥想","大弱智为鱼","夭折之项","霉神在世","都是世界的错","10倍暴击伤害","10倍攻击速度","天命在我","寒冰领域","火焰领域","无限火力","世界之子"]#性别self.xingbie = ['男', '女', '人妖']# 身份self.sf = ['公爵', '侯爵', '伯爵', '子爵', '男爵', '国王']# 随机身份def shengFeng(self):a = random.choice(self.sf)return "身份:{}\n".format(a)# 随机性别def xingBie(self):a = random.choice(self.xingbie)return "性别:{}\n".format(a)#随机种类def zhongLei(self):i = random.choice(self.zhonglei)return '种族:{}\n'.format(i)#随机技能def jiNeng(self):i = random.choice(self.jineng)return '技能:{}\n'.format(i)#随机等级def dengJi(self):i = random.choice(self.dengji)return "年龄:{}\n".format(i)#随机天赋def tianFu(self):i = random.choice(self.tianfu)return '天赋:{}\n'.format(i)#随机选择开始def __str__(self):return "{}{}{}{}{}".format(self.zhongLei(),self.xingBie(),self.shengFeng(),self.dengJi(),self.tianFu(),self.jiNeng())#勇者
yz = Yongzhe()
#世界
sj = Shijie()
#武器
wq = Wuqi()def _kaiShi():returnif __name__ == '__main__':_kaiShi()

python特殊方法相关推荐

  1. Python ljust()方法

    描述 Python ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串.如果指定的长度小于原字符串的长度则返回原字符串. 语法 ljust()方法语法: str.ljust ...

  2. Python join()方法

    描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. 语法 join()方法语法: str.join(sequence).join(sequence) 参数 s ...

  3. Python maketrans() 方法

    描述 Python maketrans() 方法用于给 translate() 方法创建字符映射转换表. 可以只接受一个参数,此时这个参数是个字典类型(暂不研究这种情况). 对于接受两个参数的最简单的 ...

  4. python count()方法

    Python count() 方法 | 菜鸟教程 可以统计一个字符串里含有子字符串的个数  频次

  5. Python rstrip()方法 删除 string 字符串末尾的指定字符(默认为空格).

    Python rstrip()方法  Python 字符串 描述 Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格). 语法 rstrip()方法语法: str.r ...

  6. vscode使用教程python-如何在VSCode上轻松舒适的配置Python的方法步骤

    前言 之前被学长推荐使用了VSCode,后惊叹了VSCode的强大,尤其是他的配置,比之前使用sublime方便多了,刚好实验室也来了一批新的学弟学妹,来仔细的逐步的讲解一些,在自己的电脑上轻松的配置 ...

  7. 自学python方法-总算懂得快速学习python的方法

    随着Python的进一步发展,越来越多的现成的Python的机器学习的算法已经发布出来.为了可以更好地运用这些机器学习的算法,我们有必要对Python有个初步的了解.以下是小编为你整理的快速学习pyt ...

  8. python类中方法的执行顺序-浅谈Python的方法解析顺序(MRO)

    方法解析顺序, Method Resolution Order 从一段代码开始 考虑下面的情况: class A(object): def foo(self): print('A.foo()') cl ...

  9. Python 字符串方法详解

    Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. 在编程中,几 ...

  10. vscode 调试python 无法连接远程服务器_vscode 远程调试python的方法

    此文介绍了vscode 远程调试python的方法,分享给大伙,具有如下: 实验环境 远程服务器:京东云,1核2G,centos7.3 64bit 本地环境配置 安装vscode,实验用的版本是1.1 ...

最新文章

  1. JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法
  2. Silverlight for Windows Phone 7开发体验
  3. 微服务调用传string值_springCloud微服务项目 构建公共的feign调用
  4. 直播 | WWW 2021论文解读:生成式板块推荐的变分控制和评估
  5. JavaScript实现radianToDegree弧度到度算法(附完整源码)
  6. cmosfixr插件怎么用_3dmax插件神器|怎么用3dmax插件神器去完成背景墙的效果图设计?...
  7. python基础技巧总结(四)
  8. Puppeteer保存html,PuppeteerSharp读取页面完整HTML(.NetCore)
  9. spark任务提交流程源码分析
  10. 提供oracle兼容特性报,【干货】K-DB为什么能全面兼容Oracle
  11. 承包你所有壁纸需求,高图网图片,美到窒息
  12. android 插件化 androdpluginmgr 扩展开发问题
  13. 代码制作数字流星雨_C语言实现流星雨 | 学步园
  14. 安装Kali Linux渗透系统
  15. 亲爱的,60句感人歌词,有没有一句触动了你
  16. 手机中的小金库被盗?手机支付安全如何保障
  17. UOJ #138. 【UER #3】开学前的涂鸦
  18. markdown 入门 - 这样就够用了
  19. 全国计算机等级分为几级,全国计算机等级考试2级分几类?
  20. DBLINK使用的思考

热门文章

  1. ruoyi对接CAS统一身份认证
  2. Android中的按摩棒
  3. ofdm中IFFT matlab,OFDM中IFFT后得到的数据应该怎样处理?
  4. Gdut Count
  5. HTML 下拉框
  6. .net5项目集成百度富文本编辑器umeditor最全教程(含源码)
  7. 差分龄期(age of diff)对RTK定位精度的影响分析(包含RTKLIB实际测试)
  8. 摄氏温度转换华氏温度_什么是摄氏温度?
  9. 累加校验和C语言实现
  10. n个骰子的点数 java_《剑指Offer》60:n个骰子的点数