文章目录
1. repr
- 作用:当我们打印一个类的实例的时候,我们可以用__repr__里面返回的形式。如下代码所示:、
class Person(object):
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return f"Person:{self.name, self.age}"
# 实例化一个xiaoming ,当我们直接打印的时候,我们可以按照__repr__形式进行展现
xiaoming = Person("xiaoming", 19)
print(xiaoming)
# output
# Person:('xiaoming', 19)
2. @dataclass
- 作用: 用dataclass修饰符可以简化以前用__init__初始化函数,直接将代码简化掉。
import dataclasses
from dataclasses import dataclass
class Person1(object):
def __init__(self, name: str, age: int) -> None:
self.name = name
self.age = age
def __repr__(self):
return f"Person:{self.name, self.age}"
# 实例化一个xiaoming ,当我们直接打印的时候,我们可以按照__repr__形式进行展现
xiaoming = Person1("xiaoming", 19)
print(xiaoming)
# output
# Person:('xiaoming', 19)
# 用dataclass 进行修饰的类Person2
@dataclass
class Person2(object):
name: str
age: int
def __repr__(self):
return f"Person:{self.name, self.age}"
person2 = Person2("xiaohua", 20)
print(person2)
# output
# Person:('xiaohua', 20)