前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第一胎都还没有,我就用Python早早的帮第三胎起好名了

第一胎都还没有,我就用Python早早的帮第三胎起好名了

作者头像
Python与Excel之交
发布2021-08-05 15:32:46
8230
发布2021-08-05 15:32:46
举报
文章被收录于专栏:Python与Excel之交

Hi~大家好!

最近国家开放三胎了,现在应该有人在“重金求子”了吧!而且某些省份为了鼓励生育,福利满满的。生孩子中,孩子取名应该算是头等大事,有些人还没生都已经想好生男的叫什么生女的叫什么,有些人为了给你孩子取个好名字,都会请风水大师来算一下,或者上网查资料买名字的。还别说,我一上网搜索关键字“起名字”,发现挺多起名网站的:

而python取名字的方法挺多的,像用爬虫+jieba+reaom就可以简单的构建一个取名程序,但比较麻烦,所以本文讲解其他两种方法。

faker

faker库主要用来随机创建一些伪数据,里面有很多的方法,而我们只需要调用Faker提供的方法,即可完成数据的生成。他的功能很多,比如随机生成数字、字母、地名、个人档案信息和文章,而生成名字就是他其中的一个功能,感兴趣的小伙伴可以深入研究。

他可以直接使用pip命令进行安装:

代码语言:javascript
复制
pip install faker

导入包:

代码语言:javascript
复制
from faker import Faker

实例化。locale携带的参数为生成数据的文化选项,只有传入相关文化,才能生成文化相对应的随机信息;它默认为美国英文en_US,因为我们要生成的是中文名字,所以这里传入的是zh_cn,表示中国文化:

代码语言:javascript
复制
fk=Faker(locale='zh_CN')

直接用里面的name方法可以直接生成一个名字,加上for循环可以直接生成10个名字:

代码语言:javascript
复制
for i in range(10):
    name = fk.name()

当然这不是我们想要的,直接用name方法生成的姓名不分性别、姓氏的,所以要用到其它方法。

first_name_male()为男性名,first_name_female()为女性名。这两个方法它只生成名,不生成姓,所以使用时加上姓氏即可:

代码语言:javascript
复制
fk.first_name_male()
fk.first_name_female()

chinesename

chinesename库是专门为了生成中文名而出现的,所以功能比较完善,而用法也很简单;其中里面包含有《百家姓》姓氏504个,常用于名字的汉字2812个名字汉字中含有大量《楚辞》、《诗经》词汇。

直接使用pip命令进行安装:

代码语言:javascript
复制
pip install faker

导入包并实例化:

代码语言:javascript
复制
from  chinesename  import  ChineseName

cn  =  ChineseName ()   # 实例化

我们只要用到里面的getNames()函数,getNames()函数里面可传入四个参数:count为要生成的名字数量,为数值类型;char_count为名字长度,为数值类型,按照法律,姓名要在两个汉字以上、六个汉字以下,如果真正起名的时候要注意输入的数字;lastname为姓氏,为字符串类型;sex为性别,只包含boygirl为字符串类型。

代码语言:javascript
复制
getNames(count, char_count, lastname, sex)

实例:

代码语言:javascript
复制
name = cn.getNames(count=10, char_count=2, lastname='陈', sex='boy')

结语

两个库中我比较喜欢chinesename,因为比较简洁,而且里面包含《楚辞》、《诗经》,可以让名字更为好听一点...

上面这句话以及本文,呃呃,纯属图一乐!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与Excel之交 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • faker
  • chinesename
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档