Python中常用魔术方法

1.__init__,构造方法,可用于创建类对象的时候设置初始化行为

# Python类可以使用:__init__()方法,称之为构造方法
# 可以实现:
# 在创建类对象的时候,会自动执行
# 在创建类对象的时候,将传入参数自动传递给__init__方法使用
# 使用构造方法对成员变量进行赋值
class student:
    name=None
    age=None
    tel=None
    # 成员方法
    def __init__(self,name,age,tel):
        self.name=name
        self.age=age
        self.tel=tel
        print("student类创建了一个对象")
stu=student("lisy",19,"003")
print(stu.name)
print(stu.age)
print(stu.tel)

2.__str__,用于实现类对象转字符串的行为                                                                                           

class student:
    def __init__(self,name,age):
        self.name=name
        self.age=age
        # __str__魔术方法
    def __str__(self):
        return f"student类对象,name:{self.name},age:{self.age}"
stu=student("lisy",18)
print(stu)
print(str(stu))

3.__lt__,用于两个类对象进行小于或者大于比较                                                                                        

class student:
    def __init__(self,name,age):
        self.name=name
        self.age=age
        # __str__魔术方法
    def __str__(self):
        return f"student类对象,name:{self.name},age:{self.age}"
stu=student("lisy",18)
print(stu)
print(str(stu))

4.__le__,用于两个类对象进行小于等于或者大于等于比较

# __le__小于等于符号比较方法
class student:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def __le__(self,other):
        return self.age<=other.age
stu1 = student("lisy", 18)
stu2 = student("mark", 19)
print(stu1 <=stu2)  # True
print(stu1 >= stu2)  # False

5.__eq__,用于两个类对象进行相等比较

# __eq__,比较运算符实现方法
class student:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def __eq__(self,other):
        return self.age==other.age
stu1 = student("lisy", 18)
stu2 = student("mark", 19)
print(stu1==stu2)   # False

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值