def random_name(self):
        # 常见姓氏 - 单姓氏
        first_one_name =     "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华"\
                            "金魏陶姜戚谢邹喻水云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁"\
                            "柳鲍史唐费岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅卞齐康伍余"\
                            "元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计成戴宋茅庞"\
                            "熊纪舒屈项祝董粱杜阮席季麻强贾路娄危江童颜郭梅盛林刁钟徐"\
                            "邱骆高夏蔡田胡凌霍万柯卢莫房缪干解应宗丁宣邓郁单杭洪包诸"\
                            "左石崔吉龚程邢滑裴陆荣翁荀羊甄家封芮储靳邴松井富乌焦巴弓"\
                            "牧隗山谷车侯伊宁仇祖武符刘景詹束龙叶幸司韶黎乔苍双闻莘劳"\
                            "逄姬冉宰桂牛寿通边燕冀尚农温庄晏瞿茹习鱼容向古戈终居衡步"\
                            "都耿满弘国文东殴沃曾关红游盖益桓公晋楚闫"

        # 常见姓氏 - 双姓氏
        first_two_name =    "欧阳太史端木上官司马东方独孤南宫万俟闻人夏侯诸葛尉迟公羊"\
                            "赫连澹台皇甫宗政濮阳公冶太叔申屠公孙慕容仲孙钟离长孙宇文"\
                            "司徒鲜于司空"

        # 女孩姓名
        girl_name =    "秀娟英华慧巧美娜静淑惠珠翠雅芝玉萍红娥玲芬芳燕彩春菊兰凤"\
                    "洁梅琳素云莲真环雪荣爱妹霞香月莺媛艳瑞凡佳嘉琼勤珍贞莉桂"\
                    "娣叶璧璐娅琦晶妍茜秋珊莎锦黛青倩婷姣婉娴瑾颖露瑶怡婵雁蓓"\
                    "纨仪荷丹蓉眉君琴蕊薇菁梦岚苑婕馨瑗琰韵融园艺咏卿聪澜纯毓"\
                    "悦昭冰爽琬茗羽希宁欣飘育滢馥筠柔竹霭凝晓欢霄枫芸菲寒伊亚"\
                    "宜可姬舒影荔枝思丽"

        # 男孩姓名
        boy_name =    "伟刚勇毅俊峰强军平保东文辉力明永健世广志义兴良海山仁波宁"\
                    "贵福生龙元全国胜学祥才发武新利清飞彬富顺信子杰涛昌成康星"\
                    "光天达安岩中茂进林有坚和彪博诚先敬震振壮会思群豪心邦承乐"\
                    "绍功松善厚庆磊民友裕河哲江超浩亮政谦亨奇固之轮翰朗伯宏言"\
                    "若鸣朋斌梁栋维启克伦翔旭鹏泽晨辰士以建家致树炎德行时泰盛"\
                    "雄琛钧冠策腾楠榕风航弘"

        # 中间名字
        middle_name =     "中笑乐瑞桐鑫沐皓诺奕辰轩熙贝凯歌易仁器义礼智信友上都被"\
                        "无佳嘉电金马钰玉忠孝"

        name = {};    # 返回数据

        # 取姓氏 - 随机
        first_name = ""
        if random.choice(range(100)) > 8:    # 单姓概率 - 10%
            first_name = first_one_name[random.choice(range(len(first_one_name) - 1))]    # 数组下标 : 开始0
        else:    # 双姓概率 - 92%
            index = random.choice(range(len(first_two_name) - 1))
            # 判断情况 - 双姓错位处理
            if index % 2 == 0:    # 偶数情况
                first_name = first_two_name[index : index + 2]
            else:    # 奇数情况
                index = index + 1
                first_name = first_two_name[index : index + 2]
        name.update({"first_name":first_name})

        # 取中间姓 - 随机
        add_middle_name = ""
        if random.choice(range(2)) > 0: # 姓名 - 中间字
            add_middle_name = middle_name[random.choice(range(len(middle_name) - 1))]

        # 取性别 - 随机
        sex = random.choice(range(2))    # 0 - 男; 1 - 女

        # 取最后姓 - 随机
        last_name = ""
        if sex > 0:    # 性别判断
            last_name = girl_name[random.choice(range(len(girl_name) - 1))]
            name.update({"sex" : "F"})    # 先生
        else:
            last_name = boy_name[random.choice(range(len(boy_name) - 1))]
            name.update({"sex" : "M"})    # 女士

        # 拼接名字
        name.update({"last_name":add_middle_name + last_name})
        return name