python中__str__的使用方法以及代码演示
时间: 2023-03-27 13:03:07 浏览: 76
__str__是Python中一个特殊的方法,用于返回一个对象的字符串表示形式。它通常被用于打印对象时,或者在调试时输出对象的信息。下面是一个简单的代码演示:
```
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"Person(name={self.name}, age={self.age})"
p = Person("Tom", 30)
print(p)
```
输出结果为:
```
Person(name=Tom, age=30)
```
在这个例子中,我们定义了一个Person类,并在类中实现了__str__方法。这个方法返回了一个字符串,包含了对象的属性信息。当我们打印一个Person对象时,Python会自动调用__str__方法,并输出返回的字符串。
需要注意的是,__str__方法返回的字符串应该是可读性较好的,方便人类阅读。如果需要返回一个更加详细的字符串表示形式,可以考虑使用__repr__方法。
相关问题
python __repr__
在Python中,`__repr__`是一个特殊方法,用于返回一个对象的字符串表示形式。这个字符串应该是一个可以用来重新创建该对象的Python表达式。如果没有实现`__str__`方法,那么在打印对象时,Python会调用`__repr__`方法来获取对象的字符串表示形式。如果同时实现了`__repr__`和`__str__`方法,那么在打印对象时,Python会调用`__str__`方法来获取对象的字符串表示形式,而在交互式环境下输入对象名并回车时,Python会调用`__repr__`方法来获取对象的字符串表示形式。
下面是一个示例代码:
```
class A(object):
def __init__(self):
pass
def __repr__(self):
return "repr"
a = A()
print(a)
```
输出结果为:
```
repr
```
这是因为我们没有实现`__str__`方法,所以Python调用了`__repr__`方法来获取对象的字符串表示形式。
另外,下面是一个示例代码,演示了同时实现`__repr__`和`__str__`方法的情况:
```
class A(object):
def __repr__(self):
return 'repr'
def __str__(self):
return 'str'
a = A()
print(a) # 调用__str__方法,输出str
```
输出结果为:
```
str
```
python st_mtime
`st_mtime`是Python中`os.stat()`返回的元数据结构体中的一个属性,用于表示文件或目录的最后修改时间。具体来说,它是一个浮点数,表示从1970年1月1日 00:00:00开始到最后一次修改的秒数。
在Python中,我们可以使用`os.stat()`方法获取文件或目录的元数据信息。它返回一个元组,其中包含了多个属性,比如文件大小、最后访问时间、最后修改时间等。其中,`st_mtime`就是表示最后修改时间的属性。
以下是一个示例代码,演示如何使用`os.stat()`和`st_mtime`获取文件的最后修改时间:
```python
import os
file_path = "/path/to/your/file"
file_stat = os.stat(file_path)
# 获取最后修改时间
last_modify_time = file_stat.st_mtime
# 将时间戳转换为可读的日期格式
import time
last_modify_time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(last_modify_time))
print(f"File {file_path} was last modified at {last_modify_time_str}")
```
输出结果可能类似于:
```
File /path/to/your/file was last modified at 2022-02-22 10:30:01
```
这样,我们就可以方便地获取文件的最后修改时间了。