python中如何使用类专有的方法
时间: 2024-01-29 13:02:24 浏览: 85
python自定义类并使用的方法
使用类专有的方法需要在类中定义这些方法,然后可以通过创建对象并调用这些方法来使用。
例如,我们定义一个名为`Person`的类,并在其中定义`__init__()`、`__str__()`和`__getattr__()`方法:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name} is {self.age} years old."
def __getattr__(self, attr):
if attr == 'address':
return 'Unknown'
else:
raise AttributeError(f"{self.__class__.__name__} object has no attribute '{attr}'")
```
然后,我们可以创建一个`Person`对象并调用`__str__()`方法来打印对象的字符串表示形式:
```python
p = Person('Bob', 30)
print(p.__str__()) # 输出:Bob is 30 years old.
```
也可以直接使用`print()`函数,因为`print()`函数内部会自动调用对象的`__str__()`方法:
```python
print(p) # 输出:Bob is 30 years old.
```
此外,我们还可以调用`__getattr__()`方法来获取对象的属性。例如,我们可以尝试获取`address`属性:
```python
print(p.address) # 输出:Unknown
```
如果尝试获取不存在的属性,将会抛出`AttributeError`异常:
```python
print(p.email) # 抛出异常:Person object has no attribute 'email'
```
阅读全文