特殊方法的名字以两个下划线开头,以两个下划线结尾,例如: str,call,dict,doc,new,del,all
(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():
return
if __name__ == '__main__':
_kaiShi()
这篇博客介绍了如何使用Python随机生成勇者、世界和武器的相关属性,包括勇者的种族、技能、天赋、等级等,世界难度和武器的等级、品质等。通过__str__方法展示这些信息,并演示了特殊方法如__call__的使用。
943

被折叠的 条评论
为什么被折叠?



