-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathname.py
33 lines (25 loc) · 963 Bytes
/
name.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from pypinyin import lazy_pinyin
from stroke_number import get_stroke_number
class Name:
__slots__ = "first_name", "stroke_number", "count", "index", "source", "gender"
def __init__(self, first_name, source, gender):
self.first_name = first_name
self.stroke_number = get_stroke_number(first_name)
self.count = len(first_name)
self.index = ""
spell = lazy_pinyin(first_name)
for word in spell:
self.index += word
self.source = source
self.gender = gender
def __eq__(self, other):
return self.index == other.index
def __ne__(self, other):
return not self.index == other.index
def __lt__(self, other):
return self.index < other.index
def __str__(self):
return self.first_name + "\t" + str(
self.gender)+"\t"+str(self.stroke_number) + "\t" + self.source
def __hash__(self):
return hash(self.first_name)