Hi~大家好!
最近国家开放三胎了,现在应该有人在“重金求子”了吧!而且某些省份为了鼓励生育,福利满满的。生孩子中,孩子取名应该算是头等大事,有些人还没生都已经想好生男的叫什么生女的叫什么,有些人为了给你孩子取个好名字,都会请风水大师来算一下,或者上网查资料买名字的。还别说,我一上网搜索关键字“起名字”,发现挺多起名网站的:
而python取名字的方法挺多的,像用爬虫+jieba+reaom就可以简单的构建一个取名程序,但比较麻烦,所以本文讲解其他两种方法。
faker
库主要用来随机创建一些伪数据,里面有很多的方法,而我们只需要调用Faker提供的方法,即可完成数据的生成。他的功能很多,比如随机生成数字、字母、地名、个人档案信息和文章,而生成名字就是他其中的一个功能,感兴趣的小伙伴可以深入研究。
他可以直接使用pip命令进行安装:
pip install faker
导入包:
from faker import Faker
实例化。locale
携带的参数为生成数据的文化选项,只有传入相关文化,才能生成文化相对应的随机信息;它默认为美国英文en_US
,因为我们要生成的是中文名字,所以这里传入的是zh_cn
,表示中国文化:
fk=Faker(locale='zh_CN')
直接用里面的name
方法可以直接生成一个名字,加上for循环可以直接生成10个名字:
for i in range(10):
name = fk.name()
当然这不是我们想要的,直接用name
方法生成的姓名不分性别、姓氏的,所以要用到其它方法。
first_name_male()
为男性名,first_name_female()
为女性名。这两个方法它只生成名,不生成姓,所以使用时加上姓氏即可:
fk.first_name_male()
fk.first_name_female()
chinesename
库是专门为了生成中文名而出现的,所以功能比较完善,而用法也很简单;其中里面包含有《百家姓》姓氏504个,常用于名字的汉字2812个名字汉字中含有大量《楚辞》、《诗经》词汇。
直接使用pip命令进行安装:
pip install faker
导入包并实例化:
from chinesename import ChineseName
cn = ChineseName () # 实例化
我们只要用到里面的getNames()
函数,getNames()
函数里面可传入四个参数:count
为要生成的名字数量,为数值类型;char_count
为名字长度,为数值类型,按照法律,姓名要在两个汉字以上、六个汉字以下,如果真正起名的时候要注意输入的数字;lastname
为姓氏,为字符串类型;sex
为性别,只包含boy
和girl
为字符串类型。
getNames(count, char_count, lastname, sex)
实例:
name = cn.getNames(count=10, char_count=2, lastname='陈', sex='boy')
两个库中我比较喜欢chinesename
,因为比较简洁,而且里面包含《楚辞》、《诗经》,可以让名字更为好听一点...
上面这句话以及本文,呃呃,纯属图一乐!
本文分享自 Python与Excel之交 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!