Python 魔法方法

视频版教程 Python3零基础7天入门实战视频教程

Python的魔法方法,也称为特殊方法或双下划线方法,是一种特殊的方法,用于在类中实现一些特殊的功能。这些方法的名称始终以双下划线开头和结尾,例如__init__,repr,__add__等

Python 魔法方法_第1张图片

__str__方法,定义对象的显示字符串,默认是对象内存地址,我们可以通过重写str方法,显示我们需要的数据。

# 定义人类
class Person:
    # 属性 姓名
    name = None
    # 属性 年龄
    age = None

    def __init__(self, name, age):
        self.name = name
        self.age = age


zhangsan = Person("张三", 21)
print(zhangsan)
print(str(zhangsan))

运行输出:

<__main__.Person object at 0x00000202E61AF950>
<__main__.Person object at 0x00000202E61AF950>

重写str方法:

    def __str__(self):
        return f"姓名:{self.name},年龄:{self.age}"

运行输出:

姓名:张三,年龄:21
姓名:张三,年龄:21

eq 定义对象间的等于操作,当使用==比较两个对象时被调用。

# 定义人类
class Person:
    # 属性 姓名
    name = None
    # 属性 年龄
    age = None

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return f"姓名:{self.name},年龄:{self.age}"

    def __eq__(self, other):
        return self.age == other.age


zhangsan = Person("张三", 21)
print(zhangsan)

# 在创建一个对象 lisi
lisi = Person("李四", 21)
print(lisi)
print(zhangsan == lisi)

作业,通过重写魔法方法,实现 zhangsan < lisi 以及 zhangsan >=lisi 这两个对象通过属性age来判断大小,返回布尔类型。

你可能感兴趣的:(Python,python)