python特殊方法

特殊方法的名字以两个下划线开头,以两个下划线结尾,例如: 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():
    return



if __name__ == '__main__':
    _kaiShi()
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值