zoukankan      html  css  js  c++  java
  • 魔术方法

    1、__str__ : 将某一个类型强制转换为字符串型。

      我们可以使用 __str__ 和 __repr__ 方法定义类到字符串的转化方式,而不需要手动打印某些属性或是添加额外的方法。

      一般来说,__str__ 的返回结果在于强可读性,而 __repr__ 的返回结果在于准确性。

      我们至少需要添加一个 __repr__ 方法来保证类到字符串的自定义转化的有效性,__str__ 是可选的。因为默认情况下,在需要却找不到 __str__ 方法的时候,会自动调用 __repr__ 方法。

    # 如果要把一个类的实例变成 str,就需要实现特殊方法__str__():
    # 不使用__str__()方法
    
    class Student(object):
        def __init__(self,id,name,age):
            self.id=id
            self.name=name
            self.age=age
     
    s=Student(111,"Bob",18)
    print(s)
    
    输出结果:
    <__main__.Student object at 0x0000024F21058208>
    
    # -----------------------------------------------------------------------
    
    # 使用__str__()方法
    class Student(object):
        def __init__(self,id,name,age):
            self.id=id
            self.name=name
            self.age=age
    
        def __str__(self):
            return "学号:{}--姓名:{}--年龄{}".format(self.id,self.name,self.age)
            __repr__ = __str__
            '''
            __repr__ = __str__ 使用时可保证在控制台>>> print() 时 任然输出
            学号:111--姓名:Bob--年龄18
            '''
    
    s=Student(111,"Bob",18)
    print(s)
    
    # 输出结果:
    学号:111--姓名:Bob--年龄18
    View Code

      

  • 相关阅读:
    洛谷P1501 动态树(LCT)
    Beijing Institute of Technology 2019.6 Monthly Contest (For grade 2018)
    [BJOI2018]求和
    [JSOI2015]最小表示
    简单题
    [Ynoi2016]掉进兔子洞
    乘积
    飞扬的小鸟
    [CTSC2008]网络管理
    Sequence
  • 原文地址:https://www.cnblogs.com/renshaoqi/p/10465014.html
Copyright © 2011-2022 走看看