python类中__unicode__和__str__方法的妙用

时间:2022-08-06 15:13:28

  在python类中有个__str__的特殊方法,该方法可以使print打印出来的东西更美观,在类里就可以定义,如下代码:

class Test:

    def __init__(self, name, job):
self.name = name
self.job = job def __str__(self):
return 'Name:' + self.name
instance = Test('xiaoming', 'Teacher')
print(instance)

代码中print(instance)执行后打印出来的就是str的‘xiaoming’,美观了很多,看起来也清爽了,如果没有这个方法那打印出来的就丑的一比了。

同时需要注意的是,__unicode__方法是在python2版本中使用的,python3直接使用__str__方法即可,因为在python3版本中默认就是unicode了,只有2才有str和unicode的区分这种扯淡的说法。

在django项目中比较常用这个方法,在数据库model交互的时候尤其注意

python类中__unicode__和__str__方法的妙用