【Python基础编程210 ● 面向对象 ● __str__()方法】


---------Python基础编程---------

Author : AI菌


 

【内容讲解】

1.__str__()是一个魔法方法,str前有两个横线,后也有两个横线
2.这个方法必须返回一个字符串
3.打印对象时,python解释器会自动调用这个方法,
打印这个方法的返回值
4.把对象转成字符串类型的数据时, 自动调用这个方法,
得到一个返回值,然后把返回值作为转换后的结果

 

【代码实现】

"""
    1.__str__()是一个魔法方法,str前有两个横线,后也有两个横线
    2.这个方法必须返回一个字符串
    3.打印对象时,python解释器会自动调用这个方法,
      打印这个方法的返回值
    4.把对象转成字符串类型的数据时, 自动调用这个方法,
      得到一个返回值,然后把返回值作为转换后的结果
"""


class Student:
    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

    def study(self, course):
        print(f"学习{course}")

    def __str__(self):
        # return "name:%s, age:%s, gender:%s" % (self.name, self.age, self.gender)
        return f"name:{self.name},age:{self.age},gender:{self.gender}"


# 情况一:打印对象,默认打印出来的是对象的地址
#        如果在类中定义了str方法,打印对象打印出来的是 __str__方法的返回值
s1 = Student("robot", "19", "")
print(s1)  # name:robot,age:19,gender:女

# 类也是一种数据类型, 类型的名字就是类名.<class '__main__.Student'>
print(type(s1))

# 情况二:把对象转成字符串类型的数据时, 自动调用__str__()方法,
#       得到一个返回值,然后把返回值作为转换后的结果
result = str(s1)  # 把对象转成字符串类型: Student -> str
print(result)  # name:robot,age:19,gender:女

 

【往期精彩】

▷【Python基础编程196 ● 读取文件的4种方式】
▷【Python基础编程197 ● 读取文件的4种方式】
▷【Python基础编程198 ● 读取文件的4种方式】
▷【Python基础编程199 ● Python怎么读/写很大的文件】
▷【Python基础编程200 ● 读取文件的4种方式】
▷【Python基础编程201 ● 读取文件的4种方式】
▷【Python基础编程202 ● 读取文件的4种方式】
▷【Python基础编程203 ● 读取文件的4种方式】

 

【加群交流】



posted @ 2020-07-31 17:02  AI菌  阅读(302)  评论(0编辑  收藏  举报