| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- """
- 魔术方法 - 哈希存储 / 上下文语法
- """
- from random import randint
- class Student():
- """学生"""
- def __init__(self, stuid, name, gender):
- self.stuid = stuid
- self.name = name
- self.gender = gender
- def __enter__(self):
- return self
- def __exit__(self, exception_type, exception_value, traceback):
- pass
- def __hash__(self):
- return hash(self.stuid)
- def __eq__(self, other):
- return self.stuid == other.stuid
- def __repr__(self):
- return f'{self.stuid}: {self.name}'
- def create_student():
- return Student(randint(1001, 9999),
- "无名氏",
- "男" if randint(0, 1) == 1 else "女")
- def main():
- """主函数"""
- students = {
- Student(1001, "王大锤", "男"),
- Student(1001, "王小锤", "男"),
- Student(1003, "王捶捶", "女")
- }
- print(len(students))
- print(students)
- with create_student() as stu:
- print(stu.stuid)
- print(stu.name)
- print(stu.gender)
- if __name__ == '__main__':
- main()
|