python class中的 __str__
时间: 2024-06-16 14:05:42 浏览: 253
在Python中,`__str__`是一个特殊方法(也称为魔术方法或魔法方法),用于定义类的实例在被打印时的字符串表示形式。当我们使用`print`函数或者调用`str()`函数时,会自动调用该方法来获取对象的字符串表示。
下面是一个示例代码,展示了如何在Python类中使用`__str__`方法:
```python
class MyClass:
def __init__(self, name):
self.name = name
def __str__(self):
return f"MyClass object (name: {self.name})"
# 创建一个MyClass对象
obj = MyClass("example")
# 打印对象
print(obj) # 输出:MyClass object (name: example)
# 获取对象的字符串表示
str_repr = str(obj)
print(str_repr) # 输出:MyClass object (name: example)
```
在上述示例中,`__str__`方法被定义为返回一个描述对象的字符串。当我们打印`obj`对象时,会自动调用`obj.__str__()`方法,并将其返回值作为打印结果。
相关问题
python class __str__
在Python中,类中的`__str__`方法是一个特殊方法,用于自定义类的字符串表示形式。当我们调用`print`函数或使用`str()`函数来表示一个类的实例时,Python会自动调用`__str__`方法来获取该实例的字符串表示形式。
在示例1中的代码中,定义了一个名为`Friend`的类,该类具有一个`__init__`方法用于初始化实例的属性,以及一个`__str__`方法用于返回该实例的字符串表示形式。通过`str()`函数或`print`语句,可以调用`__str__`方法并打印出实例的字符串表示形式。
在示例2中的代码中,定义了一个名为`Friend`的类,该类具有一个`__init__`方法用于初始化实例的属性。由于没有定义`__str__`方法,因此在使用`str()`函数或`print`语句时,会打印出默认的字符串表示形式。
在示例3中的代码中,定义了一个名为`Field`的类,该类具有一个`__init__`方法用于初始化实例的属性。同样,没有定义`__str__`方法,因此在使用`str()`函数或`print`语句时,会打印出默认的字符串表示形式。
python中 __str__
__str__是Python中的一个特殊方法,用于返回一个对象的字符串表示形式。当我们使用print函数打印一个对象时,实际上是调用了这个对象的__str__方法来获取其字符串表示形式。
例如,我们定义一个Person类:
```
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"Name: {self.name}, Age: {self.age}"
```
当我们创建一个Person对象并打印它时:
```
person = Person("Alice", 25)
print(person)
```
输出结果为:
```
Name: Alice, Age: 25
```
阅读全文