基于JavaScript版本的random_chinese_fantasy_names转写,提供了Python的API接口。
from xiuxian_names_generator import XiuXianNameGenerator, RARITY_NAMES
# 创建名称生成器实例
generator = XiuXianNameGenerator(data_dir="data")
# 生成人名
names = generator.get_name(5)
for name in names:
print(name)
# 生成道号
dao_names = generator.get_dao(3)
for dao in dao_names:
print(f"{dao['name']}
# 生成技能名称
skills = generator.get_skill(3)
for skill in skills:
print(f"{skill['name']} ({RARITY_NAMES[skill['rarity']]})")SEX_VALUES: 性别常量列表RARITY_COLORS: 稀有度对应的颜色RARITY_LEVELS: 稀有度级别列表RARITY_VALUES: 稀有度对应的概率值RARITY_NAMES: 稀有度对应的中文名称CREATURE_CATEGORY: 生物种类列表CREATURE_CATEGORY_NAMES: 生物种类对应的中文名称ZONE_CATEGORIES: 区域类别列表
XiuXianNameGenerator(data_dir="data")data_dir: 数据文件目录的路径
dao_titles: 获取所有道号称号列表book_prefixes: 获取所有书籍前缀列表talisman_kind: 获取所有符箓类型列表material_kind: 获取所有材料类型列表material_postfixes: 获取所有材料后缀列表talisman_postfixes: 获取所有符箓后缀列表zone_kind: 获取所有区域类型列表book_postfixes: 获取所有书籍后缀列表
get_name(number=1, options=None) -> List[str]number: 生成名字的数量options: 选项参数,可包含:familyName: 指定姓氏isFemale: 是否女性style: 命名风格('single', 'double', 'combine')middleCharacter: 中间字符
get_dao(number=1, options=None) -> List[Dict]number: 生成道号的数量options: 选项参数,可包含:firstCharacter: 第一个字符isFemale: 是否女性title: 称号
get_skill(number=1, options=None) -> List[Dict]number: 生成名称的数量options: 选项参数,可包含:length: 长度kind: 类型prefix: 前缀numfix: 数字后缀
get_book(number=1, options=None) -> List[Dict]number: 生成名称的数量options: 选项参数,可包含:length: 长度mainkind: 主要类型prefix: 前缀postkind: 后缀类型postfix: 后缀
get_creature(number=1, options=None) -> List[Dict]number: 生成名称的数量options: 选项参数,可包含:category: 种类rarity: 稀有度
get_material(number=1, options=None) -> List[Dict]number: 生成名称的数量options: 选项参数,可包含:kind: 类型rarity: 稀有度postfix: 后缀
get_talisman(number=1, options=None) -> List[Dict]number: 生成名称的数量options: 选项参数,可包含:kind: 类型rarity: 稀有度postfix: 后缀
get_alchemy(number=1, kind=None) -> List[Dict]number: 生成名称的数量kind: 丹药类型
get_clan(number=1, kind=None) -> List[str]number: 生成名称的数量kind: 门派类型
get_nation(number=1, kind=None) -> List[Dict]number: 生成名称的数量kind: 国家类型
get_location(number=1, kind=None) -> List[Dict]number: 生成名称的数量kind: 类型
get_zone(number=1, options_or_kind=None) -> List[Dict]number: 生成名称的数量options_or_kind: 可以是类型字符串或包含以下键的选项字典:kind: 类型category: 类别
完整示例请参考 example_names.py 文件。
与原JavaScript版本相同。