python 中的一些魔术方法

文章介绍了Python编程中类的几个重要魔术方法,包括__init__用于对象初始化,__str__定义对象的字符串表示,__lt__和__le__实现自定义小于和小于等于比较,以及__eq__用于对象的相等性比较。这些方法增强了类的行为并提供了更灵活的控制。
摘要由CSDN通过智能技术生成

魔术方法:

请添加图片描述

init(两个下划线)
class student:
    name = None #这里可以不写
    age = None
    tel = None
    def __init__(self,name,age,tel):
        self.name=name
        self.age=age
        self.tel=tel
stu = student("周杰伦","31","132332")
print(f"{stu.name},{stu.age},{stu.tel}")

上面不写,下面self.name相当于定义加赋值,写了就是赋值

str
    class student:
        def __init__(self,name,age):
            self.name = name
            self.age = age
        def __str__ ( self ):#不加这个,打印地址
            return f"student类对象,name:{self.name},age:{self.age}"
    stu = student("zhou",31)
    print(stu)
    print(str(stu))
lt(小于)
  class student:
        def __init__(self,name,age):
            self.name = name
            self.age = age
        def __lt__(self, other):#返回True或False
            return self.age < other.age
    stu = student("zhou",31)
    stu1 = student("lin",29)
	print(stu < stu1)
le(小于等于)
  class student:
        def __init__(self,name,age):
            self.name = name
            self.age = age
        def __le__(self, other):#返回True或False
            return self.age <= other.age
    stu = student("zhou",31)
    stu1 = student("lin",29)
	print(stu <= stu1)
eq(不写的话默认比较地址)
    class student:
        def __init__(self,name,age):
            self.name = name
            self.age = age
        def __eq__(self, other):#返回True或False
            return self.age == other.age
    stu = student("zhou",30)
    stu1 = student("lin",20)
	print(stu == stu1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值