爱沙尼亚国民身份证号码处理库

estnin的Python项目详细描述


用于处理爱沙尼亚国民身份号码的python库。

安装

使用pip安装:

pip install estnin

文件

完整文档位于https://estnin.readthedocs.io/

运行测试

python setup.py test

用法

创建新的estnin实例:

>>> from estnin import estnin
>>> person = estnin(37001011233)
>>> print(person.sequence)
>>> 123
>>> print(estnin(estnin.MIN))
>>> 10001010002
>>> person = estnin.create(estnin.MALE, date(1970, 1, 1), 1)
>>> print(person)
>>> 37001010018

str()

>>> assert estnin(37001010018) == "37001010018"

int()

>>> assert estnin(37001010018) == 37001010018

<;,==,>;

>>> assert estnin(37001011233) < estnin(estnin.MAX)
>>> assert estnin(37001011233) > estnin(estnin.MIN)
>>> assert estnin(37001011233) == estnin(37001011233)

否定

否定的定义是将性别从男性变为女性或副女性。

>>> assert -estnin(37001011233) == estnin(47001011234)

加和减

添加一个整数将序列值按给定的量递增。如果序列和给定的数字之和大于999,则天将递增,余数将设置为新的序列值。日期、月份和年份值按时间顺序递增,直到达到所定义的最大值。如果年份跨越世纪边界,那么世纪数字也被正确设置。

>>> assert estnin(37001011244) == estnin(37001011233)+1
>>> assert estnin(37001011244) == estnin(37001011255)-1
>>> # Create new person
>>> person = estnin.create(estnin.MALE, date(1999, 12, 31), 999)
>>> print(person)
>>> 39912319997
>>> assert estnin(50001010006) == person+1

迭代

遍历给定的estnin实例将创建新对象。

>>> people = [p for _, p in zip(range(3), estnin(37001011233))]
>>> print(' '.join(map(str, people)))
>>> 37001011233 37001011244 37001011255

可以使用方法reversed()

>>> people = [p for _, p in zip(range(3), reversed(estnin(37001011233)))]
>>> print(' '.join(map(str, people)))
>>> 37001011233 37001011222 37001011211

属性

>>> person = estnin.create(estnin.MALE, date(1970, 1, 2), 3)
>>> person
37001020036
>>> person.century
3
>>> person.year
1970
>>> person.month
1
>>> person.day
2
>>> person.sequence
3
>>> person.checksum
6
>>> person.date
datetime.date(1970, 1, 2)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法从组合框中选择值。需要JS替代方案   打印带有规范问题的Java打印程序?   使用Xmodem传输文件内容时的附加ASCII字符的java传输   java JAXB通过socket和流读取器块   java“错误:在类Grad中找不到Main方法,请将Main方法定义为:public static void Main(字符串[]args)”   如何在Java中将图像从彩色转换为黑白(灰度)   java如何使用Google云连接服务器发送上游GCM消息   JAVA中的JSON文件字段交叉点   什么是“搜索:{…}”/Java中正式使用的“中断搜索”语法?   由于明显的类路径冲突导致java ToDiscoverable强制转换错误?   java可以成为一种语言。类文件不能添加到URLClassLoader的urlpath   Android设备上会话管理的java最佳实践   Java8Java上的Google应用程序引擎。开发服务器上的时间不可用?   java Derby数据库导出为单个文件?   java如何让jmeter根据访问日志行中的时间戳进行日志重放   访问EJB分离接口时的java IllegalAccessException   java使用JsonPath在不知道密钥的情况下提取值   java将文件保存到Jersey API中的服务器应用程序目录   jsoup中的java Http异常   java有没有错误?